Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Triggers 在sybase中为所有插入、更新和删除操作编写一个触发器_Triggers_Sybase - Fatal编程技术网

Triggers 在sybase中为所有插入、更新和删除操作编写一个触发器

Triggers 在sybase中为所有插入、更新和删除操作编写一个触发器,triggers,sybase,Triggers,Sybase,我有一个要求,当任何操作插入、更新和删除将在特定表上发生时,我想在sybase中编写一个触发器 语法我知道,但我的问题是,我希望每次根据操作插入、更新和删除执行不同的操作 如何将此条件置于触发器中 像 如果插入 --执行插入特定操作 如果更新 --执行特定于更新的操作 如果删除 --执行删除特定操作我假设此问题与SAP/Sybase Adaptive Server Enterprise(ASE)有关。你没有明确说明这一点 可以根据插入表和删除表的计数来区分行为 例如,您可以编写如下内容: cre

我有一个要求,当任何操作插入、更新和删除将在特定表上发生时,我想在sybase中编写一个触发器

语法我知道,但我的问题是,我希望每次根据操作插入、更新和删除执行不同的操作

如何将此条件置于触发器中

如果插入 --执行插入特定操作

如果更新 --执行特定于更新的操作

如果删除
--执行删除特定操作

我假设此问题与SAP/Sybase Adaptive Server Enterprise(ASE)有关。你没有明确说明这一点

可以根据插入表和删除表的计数来区分行为

例如,您可以编写如下内容:

create trigger titles_trg on titles for insert, update, delete as 

declare @inserted_cnt int, @deleted_cnt int 
select @inserted_cnt = count(*) from inserted
select @deleted_cnt = count(*) from deleted

--insert command
if @inserted_cnt > 0 and @deleted_cnt = 0 
begin
    ...
end
else

--delete command
if @inserted_cnt = 0 and @deleted_cnt > 0 
begin
    ...
end

--update command
else
begin
    ...
end

go

是的,我只是在说SAP。我认为这是有道理的,谢谢你的帮助。