av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

SQL Server判斷數(shù)據(jù)庫、表、列、視圖、存儲過程、函數(shù)是否存在總結(jié)

瀏覽:235日期:2023-05-02 10:03:15
目錄
  • 一、前言概述
  • 二、數(shù)據(jù)庫相關的判斷
    • 2.1、判斷數(shù)據(jù)庫是否存在
  • 三、數(shù)據(jù)表相關的判斷
    • 3.1、判斷數(shù)據(jù)表是否存在
    • 3.2、判斷臨時表是否存在
    • 3.3、判斷表是否存在某列
    • 3.4、判斷列是否自增列
    • 3.5、判斷表中是否存在索引
  • 四、視圖相關的判斷
    • 4.1、判斷視圖是否存在
  • 五、存儲過程相關的判斷
    • 5.1、判斷存儲過程是否存在
  • 六、函數(shù)相關的判斷
    • 6.1、判斷函數(shù)是否存在

一、前言概述

在寫一些業(yè)務邏輯相對復雜點的存儲過程的時候,經(jīng)常會用到臨時表或者數(shù)據(jù)表作為臨時結(jié)果的保存。但每次在作表是否存在的判斷時,往往想不起完整的SQL寫法。因此,記錄一些常用的數(shù)據(jù)庫對象是否存在的判斷方法,可以達到快速查找的目的。正是:好記性不如爛筆頭。

二、數(shù)據(jù)庫相關的判斷

2.1、判斷數(shù)據(jù)庫是否存在

IF EXISTS (SELECT * FROM sys.databases WHERE NAME="TEST")
    PRINT "數(shù)據(jù)庫TEST存在"
ELSE
    PRINT "數(shù)據(jù)庫TEST不存在"

三、數(shù)據(jù)表相關的判斷

3.1、判斷數(shù)據(jù)表是否存在

--方法一
IF OBJECT_ID(N"[dbo].[PRODUCT]",N"U") IS NOT NULL
    PRINT "數(shù)據(jù)表PRODUCT存在"
ELSE
    PRINT "數(shù)據(jù)表PRODUCT不存在"
--方法二
IF EXISTS (SELECT * FROM sysobjects WHERE ID=OBJECT_ID(N"[dbo].[PRODUCT]") AND XTYPE="U")
    PRINT "數(shù)據(jù)表PRODUCT存在"
ELSE
    PRINT "數(shù)據(jù)表PRODUCT不存在"
--方法三
IF EXISTS (SELECT * FROM sysobjects WHERE ID=OBJECT_ID(N"[dbo].[PRODUCT]") AND OBJECTPROPERTY(ID,N"IsUserTable")=1)
    PRINT "數(shù)據(jù)表PRODUCT存在"
ELSE
    PRINT "數(shù)據(jù)表PRODUCT不存在"

3.2、判斷臨時表是否存在

--方法一
IF OBJECT_ID(N"tempdb..#PRODUCT",N"U") IS NOT NULL
    PRINT "臨時表#PRODUCT存在"
ELSE
    PRINT "臨時表#PRODUCT不存在"
--方法二
IF EXISTS (SELECT * FROM tempdb.dbo.sysobjects WHERE ID=OBJECT_ID(N"tempdb..#PRODUCT") AND XTYPE="U")
    PRINT "臨時表#PRODUCT存在"
ELSE
    PRINT "臨時表#PRODUCT不存在"

3.3、判斷表是否存在某列

--方法一
IF COL_LENGTH(N"[dbo].[PRODUCT]","PRD_ID") IS NOT NULL
    PRINT "表PRODUCT存在列PRD_ID"
ELSE
    PRINT "表PRODUCT不存在列PRD_ID"
--方法二
IF EXISTS (SELECT * FROM syscolumns WHERE ID=OBJECT_ID(N"[dbo].[PRODUCT]") AND NAME="PRD_ID")
    PRINT "表PRODUCT存在列PRD_ID"
ELSE
    PRINT "表PRODUCT不存在列PRD_ID"
--方法三
IF EXISTS (SELECT * FROM sysobjects A INNER JOIN syscolumns B ON A.ID=B.ID WHERE A.XTYPE="U" AND A.NAME="PRODUCT" AND B.NAME="PRD_ID")
    PRINT "表PRODUCT存在列PRD_ID"
ELSE
    PRINT "表PRODUCT不存在列PRD_ID"

3.4、判斷列是否自增列

IF COLUMNPROPERTY(OBJECT_ID(N"[dbo].[PRODUCT]"),"PRD_ID","ISIDENTITY")=1
    PRINT "表PRODUCT列PRD_ID是自增列"
ELSE
    PRINT "表PRODUCT列PRD_ID不是自增列"

3.5、判斷表中是否存在索引

IF EXISTS(SELECT * FROM SYSINDEXES WHERE ID=OBJECT_ID(N"[dbo].[PRODUCT]") AND NAME="PK_PRODUCTS")
    PRINT "表PRODUCT存在索引PK_PRODUCTS"
ELSE
    PRINT "表PRODUCT不存在索引PK_PRODUCTS"

四、視圖相關的判斷

4.1、判斷視圖是否存在

--方法一
IF OBJECT_ID(N"[dbo].[BRC_1001]","V") IS NOT NULL
    PRINT "視圖BRC_1001存在"
ELSE
    PRINT "視圖BRC_1001不存在"
--方法二
IF EXISTS (SELECT * FROM sysobjects where id=OBJECT_ID(N"[dbo].[BRC_1001]") and OBJECTPROPERTY(ID,N"IsView")=1)
    PRINT "視圖BRC_1001存在"
ELSE
    PRINT "視圖BRC_1001不存在"
--方法三
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME=N"BRC_1001")
    PRINT "視圖BRC_1001存在"
ELSE
    PRINT "視圖BRC_1001不存在"

五、存儲過程相關的判斷

5.1、判斷存儲過程是否存在

--方法一
IF OBJECT_ID(N"[dbo].[BRC_BomCost]","P") IS NOT NULL
    PRINT "存儲過程BRC_BomCost存在"
ELSE
    PRINT "存儲過程BRC_BomCost不存在"
--方法二
IF EXISTS (SELECT * FROM sysobjects WHERE ID=OBJECT_ID(N"[dbo].[BRC_BomCost]") AND OBJECTPROPERTY(ID,N"IsProcedure")=1)
    PRINT "存儲過程BRC_BomCost存在"
ELSE
    PRINT "存儲過程BRC_BomCost不存在"

六、函數(shù)相關的判斷

6.1、判斷函數(shù)是否存在

IF EXISTS (SELECT * FROM sysobjects WHERE ID=OBJECT_ID(N"[dbo].[BRC_MLTotal]") AND XTYPE IN (N"FN",N"IF",N"TF"))
    PRINT "函數(shù)BRC_MLTotal存在"
ELSE
    PRINT "函數(shù)BRC_MLTotal不存在"

到此這篇關于SQL Server判斷數(shù)據(jù)庫、表、列、視圖、存儲過程、函數(shù)是否存在的文章就介紹到這了,更多相關sqlserver判斷視圖函數(shù)內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

標簽: MsSQL
主站蜘蛛池模板: 日韩av不卡在线 | 成人网战 | 伦一理一级一a一片 | 中文字幕在线一区 | 久久精品一区二区国产 | 欧美色图一区二区三区 | 欧美久久久久久久久 | 人人澡人人爽 | 性欧美xxxx | 日本中文在线观看 | 天天操天天做 | 亚洲色欧美 | 欧美三级a做爰在线观看 | 黄色天堂| 在线观看欧美日韩视频 | 日韩一区二区三区在线播放 | 精品成人在线 | 老司机午夜免费精品视频 | 亚洲久久久 | a毛片在线观看 | 婷婷国产 | 久久久国产精品视频 | 欧美日批视频 | 亚洲欧美视频在线观看 | 国产成人在线观看免费网站 | 欧美老少妇 | 久久久久一区 | 天堂av网站 | 国产精品久久免费 | 在线观看欧美日韩视频 | 一级黄色免费视频 | 182tv午夜| 国产a久久麻豆入口 | 日日爱视频 | 97免费在线视频 | 精品视频在线免费观看 | 又色又爽又黄gif动态图 | 玖玖精品在线 | 亚洲欧美日韩国产精品 | 欧美午夜精品久久久久免费视 | 夜色在线影院 |