sql语句大全-判断对象

KLQ 2020-07-29 09:51:12 java常见问答 3619

下面要给大家介绍的sql语句是和判断对象相关的内容,这方面涵盖的比较多,但是也是一定要掌握的,一起来看看吧。

判断数据库是否存在

if exists (select* from sysdatabases where name = '数据库名')

dropdatabase[数据库名]

判断表是否存在

if not exists (select * from sysobjects where [name] = '表名' and xtype='U')

begin

--这里创建表

end

判断存储过程是否存在

if exists (select*fromsysobjectswhereid = object_id(N'[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

dropprocedure[存储过程名]

判断临时表是否存在

if object_id('tempdb..#临时表名')isnot null

droptable#临时表名

判断视图是否存在

--SQL Server 2000

IF EXISTS (SELECT*FROMsysviewsWHEREobject_id = '[dbo].[视图名]'

--SQL Server 2005

IF EXISTS (SELECT*FROMsys.viewsWHEREobject_id = '[dbo].[视图名]'

判断函数是否存在

if exists (select*fromdbo.sysobjectswhereid = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF'))

dropfunction[dbo].[函数名]

获取创建信息

SELECT[name],[id],crdateFROMsysobjectswherextype='U'

/*

xtype 的表示参数类型,通常包括如下这些 C =CHECK约束 D = 默认值或DEFAULT约束 F =FOREIGNKEY约束 L =日志FN =标量函数IF = 内嵌表函数 P =存储过程PK =PRIMARYKEY约束(类型是K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR =触发器U = 用户表 UQ =UNIQUE约束(类型是K) V = 视图 X = 扩展存储过程 */

判断列是否存在

if exists(select*fromsyscolumnswhereid=object_id('表名') andname='列名')

altertable表名dropcolumn列名

判断列是否自增列

if columnproperty(object_id('table'),'col','IsIdentity')=1

print '自增列'

else

print '不是自增列'

SELECT*FROMsys.columnsWHEREobject_id=OBJECT_ID('表名')

AND is_identity=1

判断表中是否存在索引

if exists(select*fromsysindexeswhereid=object_id('表名') andname='索引名')

print '存在'

else

print '不存在

查看数据库中对象

SELECT*FROMsysobjectsWHEREname='对象名'

select * from table(所要查询的表名) where coloum(条件)

以上内容源于网络仅供参考,希望可以对你有所帮助,更多相关内容,请继续来本站的常见问题栏目进行了解吧,除此之外,还有更多的java基础知识可以为你分享。

推荐阅读:

sql语句是什么?SQL基础语句汇总

sql语句最新语句整理,sql常用语句大全

SQL语句查询要怎么查询?有哪些查询方法?