我有一个说100个other_users的数据库。 我以数据库所有者身份登录,并且我想查询所有其他用户模式中的特定表。
因此,假设每个模式都有一个名为propertyvalue的表。 我想找出哪个模式将此值设置为TRUE。
有没有办法可以针对所有其他用户模式运行select语句,而无需专门指向单个模式。
像: 从otherusers.propertyvalue中选择*,其中value ='TRUE',这在我尝试过的时候不起作用。
感谢。
答案 0 :(得分:0)
您可以编写一个语句来编写select语句来执行此操作
SELECT 'SELECT '||owner||'.'||table_name||'.'||column_name ||
' FROM '||owner||'.'||table_name||';'
FROM All_Tab_Cols atc
WHERE atc.column_name = 'PROPERTYVALUE';
以具有表的select权限的用户身份运行此语句,然后运行作为输出的选择。
但是,具有多行的表将返回所有行。您是否期望每个表中只有一行?
您还可以编写一个匿名块,它将使用相同的语句打开游标,并将结果输出到文件/表/输出。