作者hildaz (小呆熊)
看板Database
标题[SQL ] MS SQL 2008R2 DBmail
时间Fri Aug 21 11:36:17 2015
资料库名称:MSSQL
资料库版本:2008R2
内容/问题描述:
想请教 最近发现 SQL 2008R2 有所谓DBMAIL 通知的功能
小弟资质鲁钝 看了一堆网页 还是不太懂网路上的说明>"<!!
想请教 假设 有个资料库 A
栏位A01预设是1
当资料异常时 A01会变成0
而触发DBMAIL 通知管理者
这有办法做到吗????
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 202.55.252.114
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1440128179.A.3F6.html
1F:→ lbeeon: trigger exec sp?08/21 12:45
老实说 我不太懂 我想法是 数量错误 触发trigger update A01变0 再触发DBMail寄送通
知 不知道对不对
※ 编辑: hildaz (111.83.163.165), 08/21/2015 13:23:06
USE [AIS20150116124346]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[OrderEntryCheck]
ON [dbo].[POOrderEntry]
AFTER INSERT,UPDATE
AS
BEGIN
SET NOCOUNT ON;
declare @FBillNO varchar(30)
declare @POFBNO varchar(20)
declare @FInterID bigint
declare @FItemID bigint
declare @FMaterial varchar(200)
declare @MSG varchar(1000)
select @FItemID=FItemID,@FINterID=FInterID
,@FBillNo=FEntrySelfP0253 from inserted
select @FMaterial=FNumber
from t_ICItem
where FItemID=@FItemID
select @POFBNO=T1.FBillNO
from POOrder T1
where T1.FInterID=@FInterID
if exists(select 1
from POOrderEntry T1
inner join POorder T2 on T2.FInterID=T1.FInterID
inner join t_BosConfig T3
on T3.FBillNO=T1.FEntrySelfP0253
inner join t_BosConfigEntry3 T4 on T4.FID=T3.FID
inner join t_ICItem T5 on T5.FItemID=T1.FItemID
where T4.FItemID = T1.FItemID
and T5.FNumber=@FMaterial
and T3.FBillNo=@FBillNo
and T2.FCancellation=0
and T2.FStatus > 0
and T2.FInterID <> @FInterID
group by T3.FBillNo,T2.FBIllNO,T5.FNumber
having sum(T4.FQty6) < sum(T1.FQty)
)
begin
select @MSG='订单号:'+ @FBillNo + ' 采购单号:' + @POFBNO
+ ' 物料:' + @FMaterial + ' 重复采购'
raiserror('Error !!!',18,18)<<<应该是这边要做修正用DBMAIL发信
对吧
end
※ 编辑: hildaz (202.55.252.114), 08/21/2015 13:42:52
2F:推 rockchangnew: 用trigger这样做,会搞死你的资料库吧。 08/21 18:11
3F:→ rockchangnew: 我觉得这种验证应该是写成SP来做吧。 08/21 18:15
4F:→ hildaz: 喔喔 大大有好建议吗 08/21 18:53
5F:→ rockchangnew: 就用store procedure啊,不建议用trigger。还有要注 08/21 21:40
6F:→ rockchangnew: 意执行SP时的帐号权限,因为你有calldbmail的SP 08/21 21:40
7F:推 yzfr6: 从伊莉问到这里来 真不简单 08/25 00:03