oracle – 如何使用PL / SQL查找序列是否存在
发布时间:2020-12-12 16:23:50 所属栏目:百科 来源:网络整理
导读:我需要找到使用PL / SQL的特定序列,例如MY_SEQ退出.如果序列存在,则删除它并创建一个新序列,否则只创建一个新序列. 例如. (伪代码) IF EXISTS(MY_SEQ) THENBEGIN DROP SEQUENCE MY_SEQ; CREATE SEQUENCE MY_SEQ...END;ELSEBEGIN CREATE SEQUENCE MY_SEQ;END;
|
我需要找到使用PL / SQL的特定序列,例如MY_SEQ退出.如果序列存在,则删除它并创建一个新序列,否则只创建一个新序列.
例如. (伪代码) IF EXISTS(MY_SEQ) THEN BEGIN DROP SEQUENCE MY_SEQ; CREATE SEQUENCE MY_SEQ... END; ELSE BEGIN CREATE SEQUENCE MY_SEQ; END;您可以检查字典视图ALL_SEQUENCES(如果执行用户是所有者,则检查USER_SEQUENCES),例如: BEGIN
FOR cc IN (SELECT sequence_name as sequence_exists
FROM all_sequences
WHERE sequence_owner = :seq_owner
AND sequence_name = :seq_name) LOOP
-- sequence exists,drop it (at most there will be *one* sequence)
EXECUTE IMMEDIATE 'DROP SEQUENCE XXX';
END LOOP;
-- create sequence
EXECUTE IMMEDIATE 'CREATE SEQUENCE XXX';
END; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
