我正在寻找一些方法来迭代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;
答案 0 :(得分:1)
如果您知道该行所在表的名称,则可以从ALL_TAB_COLUMNS
获取列的名称。您可以围绕它构建动态SQL。请参阅以下有关此类问题的Ask Tom文章:Referencing %rowtype variables without using column names。
根据您的评论,您将浏览所有表格,以便使用ALL_TABLES
获取所有名称。虽然记住ALL_TABLES
是您的登录有权访问的所有表,而DBA_TABLES
是数据库中的每个表,USER_TABLES
是您的用户拥有的表。