首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL触发器(IBM Tivoli )

SQL触发器(IBM Tivoli )
EN

Stack Overflow用户
提问于 2016-10-22 10:11:02
回答 1查看 974关注 0票数 1

我有个关于万能触发器的问题。我使用这个触发器发送电子邮件,如果有任何事件匹配的过滤器。

下面是过滤器:

代码语言:javascript
复制
begin

for each row critical in alerts.status where critical.Severity = 5 and 
critical.Grade <= 6 and critical.LastOccurrence <= ( getdate() - (60*30) )          
begin
execute send_email( critical.Node, critical.Severity, 'test2@npp.local','Netcool Email',  critical.Summary, 'WINITMSVR631');
update alerts.status via critical.Identifier set Grade=7;
end;

end

我成功地发了一封电子邮件上面的触发器,

我想在触发器中添加几行代码,如下所示:

代码语言:javascript
复制
begin

for each row critical in alerts.status where critical.Severity = 5 and 
critical.Grade <= 6
if critical.Situation = 'blabla1'       
{begin
execute send_email( critical.Node, critical.Severity, 'test2@npp.local','Netcool Email',  critical.Summary, 'WINITMSVR631');
update alerts.status via critical.Identifier set Grade=7;
end;}
if critical.Situation = 'blabla2'       
{begin
execute send_email2( critical.Node, critical.Severity, 'test2@npp.local',        'Netcool Email',  critical.Summary, 'WINITMSVR631');
update alerts.status via critical.Identifier set Grade=7;
end;}

end

但我总是会犯一些错误。老实说,我对sql编程几乎一无所知。

任何建议

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2016-11-02 14:13:08

第一件事-我不确定你能否在触发器代码中使用"{“和"}”。语法更像if Node = 'SomeNode' then update alerts.status set Grade = 8; end if; -所以它的如果.那么.;end if;

我修复了您的代码,并且它通过了SQL验证:

代码语言:javascript
复制
begin

for each row critical in alerts.status where critical.Severity = 5 and 
critical.Grade <= 6
begin
if (critical.Node = 'blabla1') then      
execute send_email( critical.Node, critical.Severity, 'test2@npp.local','Netcool Email',  critical.Summary, 'WINITMSVR631');
update alerts.status via critical.Identifier set Grade=7;
end if;
if (critical.Node = 'blabla2') then
execute send_email( critical.Node, critical.Severity, 'test2@npp.local','Netcool Email',  critical.Summary, 'WINITMSVR631');      
update alerts.status via critical.Identifier set Grade=7;
end if;
end;
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40190881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档