我创建了一个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语句之前已经声明了变量。是因为我正在遍历其他数据库吗?
@address
insert
到目前为止,我只是insert为了完成任务而将实际值放在语句中,尽管我想知道是什么引起了错误。
变量@address仅存在于其定义的批处理中,而批处理由go语句定界,超出范围。
试试这个:
declare @address varchar(50) set @address = 'Hope' insert into DB1.dbo.Address values (@address) insert into DB2.dbo.Address values (@address) go