sql 中如何查询是否这个表存在,并删除,重建?

但是此表又加约束了,应该怎么做?... 但是 此表 又加约束了,应该怎么做? 展开
 我来答
wangzhiqing999
推荐于2018-09-22 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3254万
展开全部
下面的 SQL 是, 如果 STOCK 这个表不存在,那么创建之。

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[STOCK]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[STOCK](
[STOCK_CODE] [varchar](10) NOT NULL,
[STOCK_NAME] [varchar](50) NOT NULL
)
END
GO

如果裤敬汪是判断 表存在
那么 前面的
IF NOT EXISTS
修改为
IF EXISTS

删除,重建的 SQL ,就写在那个 BEGIN END 里面。

-----

DROP TABLE 不能用于除去由 FOREIGN KEY 约束引用的表稿搭。必须先除去引用的 FOREIGN KEY 约束或引用的表。

偷懒的办法,就是 如果表存在, 那么删除掉
这样的操作, 多执行几次
最后统一 建表

这么处理的结果就是

第一次处理, 所有没有 FOREIGN KEY 约束引用的表 与 引用的 FOREIGN KEY 约束或引用的表 被删除了.

第二次处理, 某些原来不能删除的表,由于 引用的 FOREIGN KEY 约束或引用胡仔的表 被删除了, 现在可以删除了.

麻烦在于:
如果数据库体系太复杂
比如:
学校 是 系的 FOREIGN KEY
系 是 班级的 FOREIGN KEY
班级 是 学生的 FOREIGN KEY
学生是 考试成绩的 FOREIGN KEY

这种情况下, 就麻烦了
百度网友e89d670f9
2010-10-07 · TA获得超过148个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:113万
展开全部
有约束也能友握删除的呀好咐庆~
IF OBJICT_ID('TB'简帆,'u') IS NOT NULL
DROP TABLE TB
……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式