我如何声明标量变量? [英] How I Declare Scalar Variable?
本文介绍了我如何声明标量变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
创建 触发器 trig on city1
for insert
as
开始
声明 < span class =code-sdkkeyword> @ id int ;
声明 @ name nvarchar ( 50 );
声明 @ city nvarchar ( 50 );
声明 @ adres nvarchar ( 50 );
声明 @ indate datetime ;
选择 @ id = i.id 从插入i;
选择 @ name = i.name 来自插入i;
选择 @ city = i.city 从插入i;触发器触发后
选择 @ adres = ' 跨度>;触发器触发后
选择 @ indate = ' 跨度>;
插入 进入 city11(id,name,city,adres,indate) 值( @ id , @ name , @ city , @ adres ,getdate());
end
错误:
必须声明标量变量@id。
解决方案
你的代码看起来不错。但实际上你根本不需要局部变量。试试这个:
创建 触发器 trig city1
for insert
as
insert into city11(id,name,city,adres,indate)
选择 id,name,city, ' 触发器触发'后,GetDate()从插入
create trigger trig on city1
for insert
as
begin
declare @id int;
declare @name nvarchar(50);
declare @city nvarchar(50);
declare @adres nvarchar(50);
declare @indate datetime;
select @id=i.id from inserted i;
select @name =i.name from inserted i;
select @city= i.city from inserted i;
select @adres='after trigger fired';
select @indate='after trigger fired';
insert into city11 (id,name,city,adres,indate) values(@id,@name,@city,@adres,getdate());
end
Error:
Must declare the scalar variable "@id".
解决方案
Your code looks ok to me. But you actually don't need the local variables at all. Try this:
create trigger trig on city1 for insert as insert into city11 (id,name,city,adres,indate) select id, name, city, 'after trigger fired', GetDate() from inserted
这篇关于我如何声明标量变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文