【发布时间】:2016-02-29 16:38:59
【问题描述】:
我们公司使用的是Oracle 11g (11.2.0.5.0)
我正在寻找一种方法来执行外部查询(在这个从 PHP 网站调用的特定示例中),它将通过一组数据进行 FOR LOOP 并以表的形式返回结果(就像普通的 SELECT 一样)
USERS表:
DB1
DB2
DB3
...
DBO
每个用户的架构都包含ITEM 表:
ID CODE TYPE
--------------------
1 0001 A
2 0043 A
3 00A5 V
...
我想执行一个查询,该查询将遍历所有 USERS 并从他们的 ITEM 表中获取数据,这与我的不工作类似
FOR user IN (SELECT * FROM all_users)
LOOP
SELECT CODE, user FROM user.ITEM_TABLE WHERE TYPE = 'V'
END LOOP;
那会返回
CODE USER
-------------
00A5 DB1
0434 DB2
0999 DB2
...
【问题讨论】:
-
你用的是sql server还是oracle? (您的标题和描述不匹配!)
-
User_table和Item_table之间的关系是什么,绝对不需要 LOOP -
我正在使用 Oracle Database 11g 版本 11.2.0.4.0 - 64 位生产 PL/SQL 版本 11.2.0.4.0 - 用于 64 位 Windows 的生产“CORE 11.2.0.4.0 生产”TNS : 版本 11.2.0.4.0 - 生产 NLSRTL 版本 11.2.0.4.0 - 生产
-
这不是
User_table,而是all_users表(我猜从技术上讲这不是表)。表Item_table位于每个用户的个人表中。 -
我已经更正了代码,应该是 user.ITEM_TABLE,现在更有意义了。