sql-server - 创建架构 MS SQL 在 IF 语句中不起作用

标签 sql-server

为什么会出现错误:

IF(SCHEMA_ID('AM') IS NULL)
BEGIN
    CREATE SCHEMA AM
    GO
END

这有效:

IF(SCHEMA_ID('AM') IS NULL)
BEGIN
    Print 'null'
END

一行上的创建模式语句有效,但 if 语句内的创建模式无效。 所以他们都单独工作,但不能一起工作。

最佳答案

CREATE SCHEMA 是必须在批处理中单独使用的语句之一。
尝试:

IF (SCHEMA_ID('AM') IS NULL) 
BEGIN
    EXEC ('CREATE SCHEMA [AM]')
END

有关更多信息,请参阅:Why can't I use "create schema" in a begin/end block in SQL Management Studio?

关于sql-server - 创建架构 MS SQL 在 IF 语句中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988866/

相关文章:

python - pyodbc 无法连接到数据库

sql-server - 无法连接到在Docker容器中运行的SQL Server实例

sql - 从 .bak 文件恢复时动态获取数据库逻辑名称

sql-server - 弃用 ntext、text 和 image 是否会影响 SQL Server Compact Edition?

PHP,将 PDO 与嵌套查询一起使用,结果已损坏

sql-server - 并发 - Spring + Hibernate + SQL Server

sql-server - Azure SQL DB - 资源治理

mysql - SQL:我需要选择连续日期中 3 行相同的位置

mysql - “神奇”ERD 生成器 MySQL、MS SQL

sql-server - SQL Server 2000 : How to exit a stored procedure?