CREATE TRIGGER Updata_UserName ON [dbo].[UserInfo]
FOR update
AS
if(new.UserName<>old.UserName)
Update UserInfo set pwd = '1'
怎么错了,说new与表名不匹配要不谁举个例子,让我入下门table:UserInfo
字段:UserID UserName Pwd
FOR update
AS
if(new.UserName<>old.UserName)
Update UserInfo set pwd = '1'
怎么错了,说new与表名不匹配要不谁举个例子,让我入下门table:UserInfo
字段:UserID UserName Pwd
create table userinfo(userid int,username varchar(20),pwd int)
go
create trigger t_username on userinfo for update
as
begin
set nocount on
update t
set pwd=1
from userinfo t
inner join
deleted d
on t.userid=d.userid
where t.username<>d.username
set nocount off
end
go
insert into userinfo select 1,'a',0 union all select 5,'d',0
go
select * from userinfo
/*
userid username pwd
1 a 0
5 d 0
*/
go
update userinfo set username='c' where userid=1
go
select * from userinfo
/*
userid username pwd
1 c 1
5 d 0
*/
go
update userinfo set userid=6 where username='d'
go
select * from userinfo
/*
userid username pwd
1 c 1
6 d 0
*/
你把oracle的语法用在sql server上,当然会出错啦