本文介绍了我如何声明标量变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 创建 触发器 trig on city1 for insert as 开始 声明 @ 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 city1for insertasbegindeclare @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());endError: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 city1for insertasinsert into city11 (id,name,city,adres,indate)select id, name, city, 'after trigger fired', GetDate() from inserted 这篇关于我如何声明标量变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!