【Transact-SQL】DROP SCHEMA TEST CASCADE :关键字 'CASCADE' 附近有语法错误

SCHEMA在SQL server中翻译为“架构”,在课本上为“模式”。

两者是否完全等价,还需要进一步探索。

T-SQL:创建数据库架构


SQL server中测试教材上的例子:

1.创建模式:

教材【例3.3】- P79

创建模式,并在该模式下创建基本表

CREATE SCHEMA TEST AUTHORIZATION WANG
CREATE TABLE TAB1   
( 
    COL1 SMALLINT, 
    COL2 INT,
    COL3 CHAR(20),
    COL4 NUMERIC(10,3),
    COL5 DECIMAL(5,2)
);

【注】使用上面的例子,需要提前建立用户“WANG”

REF:CREATE SCHEMA (Transact-SQL)

2.删除模式:

(1)直接写教材上的【例3.4】- P80:

删除模式TEST,同时该模式中定义的表TAB1也被删除

DROP SCHEMA TEST CASCADE

提示错误: 

关键字 'CASCADE' 附近有语法错误。

可见:SQLserver不支持在 DROP SCHEMA使用CASCADE

(2)不写CASCADE,直接删除TEST:

DROP SCHEMA TEST

SQL server提示:

无法对 'TEST' 执行 drop schema,因为对象 'TAB1' 正引用它。

(3)变通方法:先删除该模式下的基本表,再删除模式.

DROP TABLE TEST.TAB1
DROP SCHEMA TEST

REF:DROP SCHEMA (Transact-SQL)

 

你可能感兴趣的:(Transact-SQL)