欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-10 22:51:33
...

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)

 

相关标签: Database