1

我想使用动态 sql 执行我的 sp,其中 iam 在参数中传递数据库名称

如果我使用这种方式,我必须使用流动代码

use @dbName

go

exec(@Sql)

其中@dbName 引用了数据库名称,@Sql 引用了我想使用 Sql server 2005 执行 Iam 的整个查询,我的代码如下

set @cSQL=@dbName+'.dbo.sp_helptext '''+@cName+''''

现在我想执行这个存储过程,所以目标数据库是新数据库,它需要use @dbname在下一行 Go 后跟一个 sql 语句

任何人都可以帮助我吗?

4

1 回答 1

1

USE我刚试过这个,它可以在没有或GO...的 SQL Server 2000 上运行

declare @dbname as varchar(100), @sql as varchar(100)
set @dbname = 'my-database'
set @sql = 'my-stored-procedure'

set @Sql = QUOTENAME(@dbName) + '.dbo.sp_helptext ''' + @Sql + ''''
exec(@Sql)
于 2013-10-24T12:32:29.917 回答