我在一个脚本中为 sql server 上的所有数据库创建架构时遇到问题。
declare @ssql varchar(2000)
set @ssql= 'use [?]
GO
CREATE SCHEMA [sp_schema]'
exec sp_msforeachdb @ssql
go
但我总是收到这些错误:
'GO' 附近的语法不正确。'CREATE SCHEMA' 必须是查询批处理中的第一条语句。如果我使用另一个语句,如 CREATE USER => 一切正常。
有任何想法吗?谢谢。
好的,我找到了。
它应该是这样的:
declare @ssql varchar(2000)
set @ssql= 'use [?]
EXEC (''CREATE SCHEMA [sp_schema]'')'
exec sp_msforeachdb @ssql
go
它有效!感谢丹的贡献!