日期:2014-05-18  浏览次数:20394 次

为什么我用查询分析器删不掉表?
我见了三个表,删除表的时候用
drop table Student cascade;
可是删不掉显示在关键字 'restrict' 附近有语法错误。
怎么回事呢、?我用的SQL server 2000

------解决方案--------------------

你的
语句看看

------解决方案--------------------
不能使用 DROP TABLE 删除被 FOREIGN KEY 约束引用的表。必须先删除引用 FOREIGN KEY 约束或引用表。如果要在同一个 DROP TABLE 语句中删除引用表以及包含主键的表,则必须先列出引用表。

可以在任何数据库中删除多个表。如果一个要删除的表引用了另一个也要删除的表的主键,则必须先列出包含该外键的引用表,然后再列出包含要引用的主键的表。

删除表时,表的规则或默认值将被解除绑定,与该表关联的任何约束或触发器将被自动删除。如果要重新创建表,则必须重新绑定相应的规则和默认值,重新创建某些触发器,并添加所有必需的约束。

如果使用 DELETE tablename 删除表中的所有行或使用 TRUNCATE TABLE 语句,则在被移除之前,表将一直存在。

删除使用了超过 128 个区的大型表和索引时,需要分两个单独的阶段:逻辑和物理阶段。在逻辑阶段中,对表使用的现有分配单元进行标记以便释放,并对其进行锁定,直到事务提交为止。在物理阶段,标记为要释放的 IAM 页被成批地物理删除。有关详细信息,请参阅 删除并重新生成大型对象。

如果删除的表包含带有 FILESTREAM 属性的 VARBINARY (MAX) 列,则不会删除在文件系统中存储的任何数据。
------解决方案--------------------
cascade是个什么东西,直接DROP TABLE Student