问题描述
变量@address仅存在于其定义的批处理中,而批处理由go语句定界,超出范围。
试试这个:
declare @address varchar(50)
set @address = 'Hope'
insert into DB1.dbo.Address
values (@address)
insert into DB2.dbo.Address
values (@address)
go
解决方法
我创建了一个SQL脚本以在另一个数据库中添加一个条目。但是,当我通过SQL Server Management Studio运行脚本时。
declare @address varchar(50)
set @address = 'Hope'
use DB1
go
insert into Address
values (@address)
go
use DB2
go
insert into Address
values (@address)
go
我收到以下错误:
必须声明标量变量“ @address”
在这一点上,我完全感到困惑,因为@address
在执行insert
语句之前已经声明了变量。是因为我正在遍历其他数据库吗?
到目前为止,我只是insert
为了完成任务而将实际值放在语句中,尽管我想知道是什么引起了错误。