关于存储过程和触发器的问题!

yczhengyong 2003-10-20 01:49:02
我有A表,里面有一insert触发器向B表插入数据;另外A有一个插入此表数据的存储过程。当存在触发器的时候存储过程中的update不起作用,没有触发器的时候Update起作用。请问是什么原因??

存储过程如下:
CREATE PROCEDURE InsertEmployee
@EmployeeName NVARCHAR(8) = NULL,
@Sex NVARCHAR(2) = NULL
AS
SET NOCOUNT ON
-- Insert the new Employee and then return the
-- new Employee_ID (Nvarchar)
INSERT Employee (EmployeeName, Sex
SELECT @EmployeeName, @Sex
-- return Employee_ID for new Employee record
UPDATE Employee SET Employee_ID=RIGHT('00000'+CAST(Auto_Value as varchar),5) WHERE Auto_Value = @@IDENTITY
RETURN 0
------------------------------------------------
GO
触发器如下
CREATE TRIGGER insertuseraccount ON [dbo].[Employee]
FOR INSERT
AS
insert into useraccount (UserName) select RIGHT('00000'+CAST(Auto_Value as varchar),5) from inserted
...全文
40 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yczhengyong 2003-10-20
  • 打赏
  • 举报
回复
To:大力
是我摘过来的时候写错啦,我的数据库里面是正确的,现在只是有了触发器以后UPDATE Employee SET Employee_ID=right(100000+Auto_Value,5) WHERE Auto_Value=@@IDENTITY
没有起作用。
pengdali 2003-10-20
  • 打赏
  • 举报
回复
CREATE TRIGGER insertuseraccount ON [dbo].[Employee]
FOR INSERT
AS
insert into useraccount (UserName) select RIGHT(100000+Auto_Value,5) from inserted
go

CREATE PROCEDURE InsertEmployee
@EmployeeName NVARCHAR(8) = NULL,
@Sex NVARCHAR(2) = NULL
AS
INSERT Employee (EmployeeName, Sex) values (@EmployeeName, @Sex)
UPDATE Employee SET Employee_ID=right(100000+Auto_Value,5) WHERE Auto_Value=@@IDENTITY
go

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧