亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查SQLServer中是否存在表

檢查SQLServer中是否存在表

汪汪一只貓 2019-06-24 10:03:35
檢查SQLServer中是否存在表我希望這是關于如何使用SQL語句檢查SQLServer 2000/2005中是否存在表的最終討論。當你在谷歌上搜索答案時,你會得到很多不同的答案。是否有一種正式/向后/向前兼容的做法?這里有兩種可能的方法。這兩種方法中哪一種是標準/最好的方法?第一條路:IF EXISTS (SELECT 1             FROM INFORMATION_SCHEMA.TABLES             WHERE TABLE_TYPE='BASE TABLE'             AND TABLE_NAME='mytablename')     SELECT 1 AS res ELSE SELECT 0 AS res;第二條路:IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL     SELECT 1 AS res ELSE SELECT 0 AS res;MySQL提供簡單的SHOW TABLES LIKE '%tablename%';聲明。我在找類似的東西。
查看完整描述

3 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

對于這樣的查詢,最好使用INFORMATION_SCHEMA視野。這些視圖(主要是)在許多不同的數據庫中都是標準的,很少在不同版本之間進行更改。

若要檢查表是否存在,請使用:

IF (EXISTS (SELECT * 
                 FROM INFORMATION_SCHEMA.TABLES 
                 WHERE TABLE_SCHEMA = 'TheSchema' 
                 AND  TABLE_NAME = 'TheTable'))BEGIN
    --Do StuffEND


查看完整回答
反對 回復 2019-06-24
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

還請注意,如果出于任何原因需要檢查臨時表,則可以這樣做:

if OBJECT_ID('tempdb..#test') is not null
 --- temp table exists


查看完整回答
反對 回復 2019-06-24
?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

我們總是使用OBJECT_ID風格我記得很久了

IF OBJECT_ID('*objectName*', 'U') IS NOT NULL


查看完整回答
反對 回復 2019-06-24
  • 3 回答
  • 0 關注
  • 1166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號