欢迎来到天天文库
浏览记录
ID:34777219
大小:62.68 KB
页数:3页
时间:2019-03-10
《检查sql对象是否存在》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQLServer判断对象是否存在1判断数据库是否存在Sql代码ifexists(select*fromsys.databaseswherename='数据库名')dropdatabase[数据库名]2判断表是否存在Sql代码ifexists(select*fromsysobjectswhereid=object_id('表名')andobjectproperty(id,'IsUserTable')=1)droptable[表名]ifexists(select*fromsysobjectswherename='表名'andxtype='U')droptable[表名]3判断存储过程是
2、否存在Sql代码ifexists(select*fromsysobjectswhereid=object_id('[存储过程名]')andobjectproperty(id,'IsProcedure')=1)dropprocedure[存储过程名]ifexists(select1fromsysobjectswherename='存储过程名'andxtype='P')dropprocedure[存储过程名]4判断临时表是否存在Sql代码ifobject_id('tempdb..#临时表名')isnotnulldroptable#临时表名5判断视图是否存在Sql代码--SQLServer
3、2000IFEXISTS(SELECT*FROMsysviewsWHEREobject_id='[dbo].[视图名]')--SQLServer2005IFEXISTS(SELECT*FROMsys.viewsWHEREobject_id='[dbo].[视图名]')6判断函数是否存在Sql代码--判断要创建的函数名是否存在ifexists(select*fromdbo.sysobjectswhereid=object_id('[dbo].[函数名]')andxtypein('FN','IF','TF'))dropfunction[dbo].[函数名]ifexists(select1
4、fromsysobjectswherename='函数名'andxtypein('FN','IF','TF'))dropfunction[函数名]7获取用户创建的对象信息Sql代码SELECT1FROMsysobjectswherename=[对象名]andxtype=''/*xtype的表示参数类型,通常包括如下这些C=CHECK约束D=默认值或DEFAULT约束F=FOREIGNKEY约束L=日志FN=标量函数IF=内嵌表函数P=存储过程PK=PRIMARYKEY约束(类型是K)RF=复制筛选存储过程S=系统表TF=表函数TR=触发器U=用户表UQ=UNIQUE约束(类型是K)V
5、=视图X=扩展存储过程*/8判断列是否存在Sql代码ifexists(select*fromsyscolumnswhereid=object_id('表名')andname='列名')altertable表名dropcolumn列名9判断列是否自增列Sql代码ifcolumnproperty(object_id('table'),'col','IsIdentity')=1print'自增列'elseprint'不是自增列'SELECT*FROMsyscolumnsWHEREobject_id=OBJECT_ID('表名')ANDis_identity=110判断表中是否存在索引Sql
6、代码ifexists(select*fromsysindexeswhereid=object_id('表名')andname='索引名')print'存在'elseprint'不存在'11查看数据库中对象Sql代码SELECT*FROMsys.sysobjectsWHEREname='对象名'12查看表中主键是否存在,如存在则将其drop掉declare@pkvarchar(100)select@pk=namefromsysobjectswhereparent_obj=object_id('表名')andxtype='PK'if@pkisnotnullexec('altertable
7、表名drop'+@pk)
此文档下载收益归作者所有