回答

收藏

错误:在多个数据库中插入句子的必须声明标量变量

技术问答 技术问答 239 人阅读 | 0 人回复 | 2023-09-14

我创造了一个SQL脚本在另一个数据库中添加一个条目。但是,当我通过时SQL Server Management Studio操作脚本时。
, Y2 j8 e9 V9 g5 D$ |, x- ydeclare @address varchar(50)set @address = 'Hope'use DB1goinsert into Address values (@address)gouse DB2goinsert into Address values (@address)go我收到了以下错误:  X2 u0 T* f5 B  s6 j
必须声明标量变量 @address”
" ]4 x, Z7 T. o+ f# v- |' V* B
在这一点上,我完全感到困惑,因为@address在执行insert语句之前已经声明了变量。是因为我在经历其他数据库吗?
5 G* x# i' ?# A* B' {: X9 h# z到目前为止,我只是insert尽管我想知道是什么导致了错误,但把实际值放在句子中来完成任务。& T6 o5 r4 o; w1 R
                                                                1 j% H/ `5 V; ~" K6 \  Q' j( o3 ^
    解决方案:                                                                9 B8 O# f- r( A6 \! J9 T
                                                                变量@address批处理原因仅存在于其定义的批处理中go语句定界,超出范围。
8 p/ V# O& P/ v1 h* J试试这个:4 V/ h6 E, k% d* b0 @  o
declare @address varchar(50)set @address = 'Hope'insert into DB1.dbo.Address values (@address)insert into DB2.dbo.Address values (@address)go
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则