循环通过PL / SQL行

时间:2012-02-15 06:27:04

标签: sql oracle plsql plsqldeveloper

我正在寻找一些方法来迭代PL / SQL行,但我没有得到任何合适的结果。

例如,如果我有一个看起来像这个row(first_name,last_name)的PL / SQL行,我想使用PL / SQL打印第一个名字和姓氏而不知道该行,即我不知道行如何,所以我需要一些看起来像这样的代码

FOR column IN My_Row  --some way to iterate through the row.
LOOP
    PRINT column...   --do my stuff, in this example
END LOOP;

1 个答案:

答案 0 :(得分:1)

如果您知道该行所在表的名称,则可以从ALL_TAB_COLUMNS获取列的名称。您可以围绕它构建动态SQL。请参阅以下有关此类问题的Ask Tom文章:Referencing %rowtype variables without using column names

根据您的评论,您将浏览所有表格,以便使用ALL_TABLES获取所有名称。虽然记住ALL_TABLES是您的登录有权访问的所有表,而DBA_TABLES是数据库中的每个表,USER_TABLES是您的用户拥有的表。