【MSSQL】sqlserver 各種判斷是否存在(表名、函式、儲存過程.......)

lhrbest發表於2020-10-10

【MSSQL】sqlserver 各種判斷是否存在(表名、函式、儲存過程.......) 


庫是否存在
if exists( select * from master..sysdatabases where name =N '庫名' )
print 'exists'
else
print 'not exists'
---------------
-- 判斷要建立的表名是否存在
if exists ( select * from dbo.sysobjects where id = object_id(N '[dbo].[表名]' ) and OBJECTPROPERTY(id, N 'IsUserTable' ) = 1)
-- 刪除表
drop table [dbo].[表名]
GO
---------------
-----列是否存在
  IF COL_LENGTH( '表名' , '列名' ) IS NULL
     PRINT 'not exists'
ELSE
  PRINT 'exists'
alter table 表名 drop constraint 預設值名稱
go
alter table 表名 drop column 列名
go
-----
--判斷要建立臨時表是否存在
If Object_Id( 'Tempdb.dbo.#Test' ) Is Not Null
Begin
print '存在'
End
Else
Begin
print '不存在'
End
---------------
-- 判斷要建立的儲存過程名是否存在
if exists ( select * from dbo.sysobjects where id = object_id(N '[dbo].[儲存過程名]' ) and OBJECTPROPERTY(id, N 'IsProcedure' ) = 1)
-- 刪除儲存過程
drop procedure [dbo].[儲存過程名]
GO
---------------
-- 判斷要建立的檢視名是否存在
if exists ( select * from dbo.sysobjects where id = object_id(N '[dbo].[檢視名]' ) and OBJECTPROPERTY(id, N 'IsView' ) = 1)
-- 刪除檢視
drop view [dbo].[檢視名]
GO
---------------
-- 判斷要建立的函式名是否存在
if exists ( select * from sysobjects where xtype= 'fn' and name = '函式名' )
if exists ( select * from dbo.sysobjects where id = object_id(N '[dbo].[函式名]' ) and xtype in (N 'FN' , N 'IF' , N 'TF' ))
-- 刪除函式
drop function [dbo].[函式名]
GO
if col_length( '表名' , '列名' ) is null
print '不存在'
select 1 from sysobjects where id in ( select id from syscolumns where name = '列名' ) and name = '表名'




About Me

........................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在個人微 信公眾號( DB寶)上有同步更新

● QQ群號: 230161599 、618766405,微信群私聊

● 個人QQ號(646634621),微 訊號(db_bao),註明新增緣由

● 於 2020年10月 在西安完成

● 最新修改時間:2020年10月

● 版權所有,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麥苗出版的資料庫類叢書: http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用、DBA學習班http://blog.itpub.net/26736162/viewspace-2148098/

● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

........................................................................................................................

請掃描下面的二維碼來關注小麥苗的微 信公眾號( DB寶)及QQ群(230161599、618766405)、新增小麥苗微 信(db_bao), 學習最實用的資料庫技術。

........................................................................................................................

 

 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2725992/,如需轉載,請註明出處,否則將追究法律責任。

相關文章