使用 PL SQL 将所有列值打印到仅记录

Posted

技术标签:

【中文标题】使用 PL SQL 将所有列值打印到仅记录【英文标题】:Print all column values via only Record using PLSQL 【发布时间】:2014-07-01 06:41:52 【问题描述】:

我有以下打印记录参数的 plsql 脚本。 有没有办法打印所有通过country_record 的列值。 我的意思是我不想写像country_record.country_id这样的所有列名

 DECLARE
       country_record   countries%ROWTYPE;
       countryid        countries.country_id%TYPE;
    BEGIN
       countryid := &countryid;

       SELECT *
         INTO country_record
         FROM countries
        WHERE country_id = countryid;

       DBMS_OUTPUT.put_line ('id: ' || country_record.country_id);
    END;

【问题讨论】:

你会在这里找到答案:***.com/questions/8717251/… 【参考方案1】:

如果你想打印它,你可以试试这个。使用SQL*Plus

VARIABLE MYCUR SYSREFCURSOR;

 DECLARE
       country_record   countries%ROWTYPE;
       countryid        countries.country_id%TYPE;
       plsql_cursor SYS_REFCURSOR;
    BEGIN
       countryid := &countryid;

       OPEN :MYCUR for 
       SELECT *
         FROM countries
        WHERE country_id = countryid;

    END;
  /

  print mycur;

【讨论】:

我用的是TOAD,有没有类似的解决方案? 同一个概念,一个答案here

以上是关于使用 PL SQL 将所有列值打印到仅记录的主要内容,如果未能解决你的问题,请参考以下文章