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

Janna ·
更新时间:2024-09-20
· 728 次阅读

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)


作者:HBU_David



transact-sql SQL DROP CASCADE 关键字 关键 schema

需要 登录 后方可回复, 如果你还没有账号请 注册新账号