我遇到动态SQL脚本问题,尤其是这个问题:EXEC('
if db_id(''' + $(db) + ''') is null
BEGIN
CREATE DATABASE ' + $(db) + '
END
if语句部分似乎工作正常,我知道这是因为如果数据库存在则创建数据库行没有运行但是当它需要运行时我只是在该行附近得到语法错误。
我也尝试过:
CREATE DATABASE ''' + $(db) + '''
没有运气
任何想法?
答案 0 :(得分:1)
DECLARE @DB_NAME NVARCHAR(128) = N'Test_DB'
DECLARE @Sql NVARCHAR(MAX);
IF DB_ID(@DB_NAME) IS NULL
BEGIN
SET @Sql = N' CREATE DATABASE ' + QUOTENAME(@DB_NAME)
EXECUTE sp_executesql @Sql
END
重要提示
确保您的数据库名称符合Rules for Regular Identifiers