我有一个问题。
此代码有效:
DECLARE @nameDB AS VARCHAR (max)= 'myDB'
DECLARE @sql AS VARCHAR(max)
SELECT @sql = 'USE [' + @nameDB + ']'
PRINT @sql
EXEC sp_sqlexec @sql
GRANT CONNECT TO [user]
其他代码不会(尽管执行过程没有错误):
{{1}}
我需要使用后者(或类似名称),因为我有许多数据库需要对某些用户处于只读模式。
有什么建议吗?
答案 0 :(得分:-1)
尝试一下:
DECLARE @nameDB AS sysname = 'myDB'
DECLARE @sql AS VARCHAR(max)
SELECT @sql = 'USE [' + @nameDB + ']; GRANT CONNECT TO [user];'
PRINT @sql
EXEC sp_sqlexec @sql