我如何声明标量变量? [英] How I Declare Scalar Variable?

查看:360
本文介绍了我如何声明标量变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 创建 触发器 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆