我正在使用Oracle 11g。我希望能夠確定一個特定的序列是否存在。我試過下面的代碼,但它不起作用。 (它應該有更多的時候返回0作爲計數值):如何檢查Oracle 11g中是否存在序列?
SELECT COUNT(*)
FROM user_sequences
WHERE sequence_name = 'SCHEMA.SEQUENCE_NAME';
如果有人知道這是爲什麼,請幫助我。
我正在使用Oracle 11g。我希望能夠確定一個特定的序列是否存在。我試過下面的代碼,但它不起作用。 (它應該有更多的時候返回0作爲計數值):如何檢查Oracle 11g中是否存在序列?
SELECT COUNT(*)
FROM user_sequences
WHERE sequence_name = 'SCHEMA.SEQUENCE_NAME';
如果有人知道這是爲什麼,請幫助我。
如果你正在運行的查詢作爲用戶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' ;
另外,請記住,你可能不授予查看DB中的所有序列。 在上面提供的這種情況下,腳本可能無法正常工作,你應該執行類似
SELECT COUNT(*) FROM DBA_SEQUENCES;
但這個如果你有DBA_SEQUENCES視圖沒有訪問也可能無法工作。
檢查Oracle docs。
謝謝,工作很好。 = d –