我使用的是Oracle 11g。我希望能够确定特定序列是否存在。我已经尝试了下面的代码,但它不工作。(它返回0作为计数值,而应该有更多的值):
SELECT COUNT(*)
FROM user_sequences
WHERE sequence_name = 'SCHEMA.SEQUENCE_NAME';
如果有人知道这是为什么,请帮帮我。
发布于 2012-06-13 19:08:23
如果您以MP
用户身份运行查询,则尝试如下所示:
SELECT COUNT(*)
FROM user_sequences
WHERE sequence_name = 'SEQ_SSO_KEY_AUTHENTICATION';
否则,尝试如下所示:
SELECT COUNT(*)
FROM all_sequences
WHERE sequence_name = 'SEQ_SSO_KEY_AUTHENTICATION'
AND sequence_owner = 'MP' ;
发布于 2015-12-09 22:15:30
此外,请记住,您可能不会被授权查看数据库中的所有序列。在这种情况下,上面提供的脚本可能不起作用,您应该运行类似于
SELECT COUNT(*) FROM DBA_SEQUENCES;
但是,如果您没有访问DBA_SEQUENCES视图的权限,这也可能不起作用。
检查Oracle docs。
https://stackoverflow.com/questions/11013504
复制相似问题