gpt4 book ai didi

oracle - 仅当存在时才删除触发器 (ORACLE)

转载 作者:行者123 更新时间:2023-12-02 11:50:03 26 4
gpt4 key购买 nike

我想删除ORACLE中的现有触发器。

我确实知道droporacle中查询触发器。但想知道如何检查该触发器是否已存在于 Oracle DB 中。

删除查询:

DROP TRIGGER **TRIGGER_NAME**

最佳答案

为此,您需要一个带有动态 SQL 的 PL/SQL block :

-- drop the trigger if it exists
declare
l_count integer;
begin

select count(*)
into l_count
from user_triggers
where trigger_name = 'TRIGGER_NAME';

if l_count > 0 then
execute immediate 'drop trigger trigger_name';
end if;

end;
/


-- now create the trigger
create trigger trigger_name
..
begin
end;
/
<小时/>

请注意,(不带引号的)标识符在 Oracle 系统目录中以大写形式存储。因此,请确保在 PL/SQL 检查中使用 trigger_name = 'TRIGGER_NAME',而不是 trigger_name = 'trigger_name'

关于oracle - 仅当存在时才删除触发器 (ORACLE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34151428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com