MSSQL 触发器错误!请帮我看看。。。。 ( 积分: 50 )

  • 主题发起人 主题发起人 Jason Law
  • 开始时间 开始时间
J

Jason Law

Unregistered / Unconfirmed
GUEST, unregistred user!
CREATE TRIGGER [Insert_sbm_and_RS00] ON [dbo].[EMP_EMPLOYEES]
--with encryption --加密
FOR INSERT
AS
--------------------- 再更新人员表----------------------------
declare @WNO INT,@WBM VARCHAR(20),@WNAME VARCHAR(10),@DEPTNO VARCHAR(10),@II INT

SELECT @WNO=WORK_NO,@WNAME=WORK_NAME,@WBM=DEPT_NAME FROM INSERTED

SELECT @II=COUNT(*) FROM RS00 WHERE [ID]=@WNO or gh=@WNO --在 RS00 表中找到是否存在该工号的员工。

SELECT @DEPTNO=bm_no FROM SBM WHERE @WBM=bm_name --根据相应的部门名称取得部门编号

IF (@II=0 ) and (@DEPTNO<>'')
begin

insert into rs00(GH,[ID],[NAME],BM_NO)
VALUES (@WNO,@WNO,@WNAME,@DEPTNO)

end


============

发生的错误,并非有什么提示错误。

而是 并不应该往 rs00 数据表里面增加数据,但是还是增加。。
 
CREATE TRIGGER [Insert_sbm_and_RS00] ON [dbo].[EMP_EMPLOYEES]
--with encryption --加密
FOR INSERT
AS
--------------------- 再更新人员表----------------------------
declare @WNO INT,@WBM VARCHAR(20),@WNAME VARCHAR(10),@DEPTNO VARCHAR(10),@II INT

Set @DEPTNO=''-------------初始化@DEPTNO,否则@DEPTNO=Null

SELECT @WNO=WORK_NO,@WNAME=WORK_NAME,@WBM=DEPT_NAME FROM INSERTED

SELECT @II=COUNT(*) FROM RS00 WHERE [ID]=@WNO or gh=@WNO --在 RS00 表中找到是否存在该工号的员工。

SELECT @DEPTNO=bm_no FROM SBM WHERE @WBM=bm_name --根据相应的部门名称取得部门编号

IF (@II=0 ) and (@DEPTNO<>'')
begin

insert into rs00(GH,[ID],[NAME],BM_NO)
VALUES (@WNO,@WNO,@WNAME,@DEPTNO)

end
------------------------------
另外,你这个思路不太好,当同时insert多条记录话肯定会出问题的!可以考虑该成下面的:
CREATE TRIGGER [Insert_sbm_and_RS00] ON [dbo].[EMP_EMPLOYEES]
--with encryption --加密
FOR INSERT
AS

insert rs00 (GH,[ID],[NAME],BM_NO) select a.work_no,a.work_no,a.work_name,b.BM_NO from inserted a,SBM b where a.work_no not in (select id from RS00) and a.work_no not in (select gh from RS00) and a.DEPT_NAME=b.bm_name
go
end
 
@Jason Law:
你在这个帖子中的回答问题的代码能否发给小弟一份,因为我下面的帖子和你的回答代码有帮助,谢谢: xdzhan@sohu.com
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1812637
同样的问题请帮我看看这个帖子:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3667648
另开帖子给您送分。
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
972
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
947
SUNSTONE的Delphi笔记
S
后退
顶部