有没有一种方法可以持久保留变量?
Declare @bob as varchar(50); Set @bob = 'SweetDB'; GO USE @bob --- see note below GO INSERT INTO @bob.[dbo].[ProjectVersion] ([DB_Name], [Script]) VALUES (@bob,'1.2')
有关“ USE @bob”行,请参见此SO问题。
该go命令用于将代码拆分为单独的批处理。如果这正是您要执行的操作,则应使用它,但这意味着批次实际上是分开的,并且您不能在它们之间共享变量。
go
在您的情况下,解决方案很简单;您只需删除go语句,该代码中就不需要它们。
旁注:您不能在use语句中使用变量,它必须是数据库的名称。
use