日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

sql server 判断是否存在数据库,表,列,视图

發(fā)布時間:2025/3/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql server 判断是否存在数据库,表,列,视图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 判斷數(shù)據(jù)庫是否存在
if exists (select * from sys.databases where name = '數(shù)據(jù)庫名')?
? drop database [數(shù)據(jù)庫名]

2 判斷表是否存在
if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)?
? drop table [表名]

3 判斷存儲過程是否存在
if exists (select * from sysobjects where id = object_id(N'[存儲過程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)?
? drop procedure [存儲過程名]


4 判斷臨時表是否存在
if object_id('tempdb..#臨時表名') is not null???
? drop table #臨時表名

5 判斷視圖是否存在
--SQL Server 2005??
IF EXISTS (SELECT * FROM sys.views WHERE object_id = '[dbo].[視圖名]'

print '存在'

else

print '不存在'

6 判斷函數(shù)是否存在
--? 判斷要創(chuàng)建的函數(shù)名是否存在???
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[函數(shù)名]') and xtype in (N'FN', N'IF', N'TF'))???
? drop function [dbo].[函數(shù)名]?

7 獲取用戶創(chuàng)建的對象信息

SELECT [name],[id],crdate FROM sysobjects where xtype='U'


? /*?
xtype 的表示參數(shù)類型,通常包括如下這些?
C = CHECK 約束?
D = 默認值或 DEFAULT 約束?
F = FOREIGN KEY 約束?
L = 日志?
FN = 標(biāo)量函數(shù)?
IF = 內(nèi)嵌表函數(shù)?
P = 存儲過程?
PK = PRIMARY KEY 約束(類型是 K)?
RF = 復(fù)制篩選存儲過程?
S = 系統(tǒng)表?
TF = 表函數(shù)?
TR = 觸發(fā)器?
U = 用戶表?
UQ = UNIQUE 約束(類型是 K)?
V = 視圖?
X = 擴展存儲過程?
*/?

8 判斷列是否存在
if exists(select * from syscolumns where id=object_id('表名') and name='列名')?
? alter table 表名 drop column 列名

9 判斷列是否自增列
if columnproperty(object_id('table'),'col','IsIdentity')=1?
? print '自增列'?
else?
? print '不是自增列'
?
SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('表名')? AND is_identity=1

10 判斷表中是否存在索引


if exists(select * from sysindexes where id=object_id('表名') and name='索引名')???
? print? '存在'???
else???
? print? '不存在'

11 查看數(shù)據(jù)庫中對象

SELECT * FROM sys.sysobjects WHERE name='對象名'? SELECT * FROM sys.sysobjects WHERE name='對象名'

總結(jié)

以上是生活随笔為你收集整理的sql server 判断是否存在数据库,表,列,视图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。