❶ sql SERVER 建表時先判斷表有沒有存在
1、打開資料庫選中要創建表的資料庫,在資料庫中打開表,然後點新建,創建表,就會出現一個建表窗口。
❷ SQL 判斷零時表存在 存在刪除並創建 不存在就創建
您好:
判斷SQL如下。
ifexists(select*fromtempdb..sysobjectswhereid=object_id('tempdb..#臨時表名'))
droptabletempdb..##臨時表名
或者
ifobject_id('tempdb..#臨時表名')isnotnull
Begin
DROPTABLE#臨時表名
End
❸ sql 中如何查詢這個表是否存在,並刪除重建
下面的 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
這種情況下, 就麻煩了