mssql sqlserver 触发器触发带参数的存储过程的方法分享


摘要:
下文通过举例的方式分享触发器触发带参数的存储过程的方法
实验环境:sql server 2008 R2


例: 有一张出库明细表
每次用户插入出退库记录进入此表时,我们都通过触发器获取相应的操作类型,然后调用不同的存储过程,生成相应的单据
如下所示:

create   TRIGGER [dbo].[TR_****_Ins] ON [dbo].[tableName] 
FOR INSERT
AS

declare @billNo varchar(60),@ioFlag char(1),
	@chuFaFlag int  --触发标志  1 时表示不触发 触发器 

if @@rowcount<=0 return;

select @billno= billNO,@ioFlag=ioFlag
   ,@chuFaFlag =chuFaFlag from inserted  


if @chuFaFlag = 1 return ; 

--出货:
if @ioFlag=1
exec  dbo.pr_***_out @billNo

if @ioFlag=-1
 exec  dbo.pr_***_back @billNo