SQL判断是否存在

 1 判断数据库是否存在
 2 ifexists(select*frommaster..sysdatabaseswherename=N’库名’)
 3 printexists 4 else
 5 print’notexists’
 6 
 7 ---------------
 8 --判断要建立的表名是否存在
 9 ifexists(select*fromdbo.sysobjectswhereid=object_id(N’[dbo].[表名]’)andOBJECTPROPERTY(id,N’IsUserTable’)=1)
10 --删除表
11 droptable[dbo].[表名]
12 GO
13 
14 ---------------
15 --判断要建立临时表是否存在
16 IfObject_Id(’Tempdb.dbo.#Test’)IsNotNull
17 Begin
18 print’存在’
19 End
20 Else
21 Begin
22 print’不存在’
23 End
24 
25 ---------------
26 --判断要建立的存储过程名是否存在
27 ifexists(select*fromdbo.sysobjectswhereid=object_id(N’[dbo].[存储过程名]’)andOBJECTPROPERTY(id,N’IsProcedure’)=1)
28 --删除存储过程
29 dropprocedure[dbo].[存储过程名]
30 GO
31 
32 ---------------
33 --判断要建立的视图名是否存在
34 ifexists(select*fromdbo.sysobjectswhereid=object_id(N’[dbo].[视图名]’)andOBJECTPROPERTY(id,N’IsView’)=1)
35 --删除视图
36 dropview[dbo].[视图名]
37 GO
38 
39 ---------------
40 --判断要建立的函数名是否存在
41 ifexists(select*fromdbo.sysobjectswhereid=object_id(N’[dbo].[函数名]’)andxtypein(N’FN’,N’IF’,N’TF’))
42 --删除函数
43 dropfunction[dbo].[函数名]
44 GO
45 
46 ifcol_length(’表名’,’列名’)isnull
47 print’不存在’
48 
49 select1fromsysobjectswhereidin(selectidfromsyscolumnswherename=’列名’)andname=’表名’
50 
51 >