如果你只希望這對當前用戶,最好是用戶user_xxx
意見,而不是all_xxx
意見。
以下應該做你想要什麼:
select ut.table_name
from user_tables ut
where not exists (select 1
from user_constraints ac
where ac.table_name = ut.table_name
and ac.constraint_type = 'P'
);
如果你確實需要這對於不同的用戶,那麼你可以使用下面的。
select at.*
from all_tables at
where not exists (select 1
from all_constraints ac
where ac.owner = at.owner
and ac.table_name = at.table_name
and ac.constraint_type = 'P'
)
and at.owner = 'MY_SCHEMA';
不要忘了Oracle是大小寫敏感的用戶名稱存儲在大寫,所以a.owner ='my_schema'
將最有可能不會返回任何東西。