您的位置:首页 > 数据库

SQL语句,查询数据库里是否存在某个表

2016-06-14 09:59 531 查看
http://blog.csdn.net/jeffrey9061/article/details/8235416

select count(1) from sys.objects where name = '表名'

 

select ObjectProperty(Object_ID( '表名'),'IsUserTable')

这两个SQL语句都是查询数据库里头是否存在某个表的语句,以后都是查询表里某个列,第一次查询数据库是否有某个表,原来是这么弄的,收录一下。

SQL Server中判断数据库是否存在:

  法(一):

    select * From master.dbo.sysdatabases where name='数据库名'

  法(二):

    if db_id('数据库名') is not null

      drop database 。。。

      go

    create 。。。

 SQL Server中判断表对象是否存在:

  select count(*) from sysobjects where id = object_id('数据库名.Owner.表名')

  if exists 

      (select count(*) from sysobjects where id = object_id('数据库名.Owner.表名'))

    print '存在'

  else

    print '不存在'

SQL Server中判断表中字段是否存在:

  if exists

      (select * from syscolumns where name='colname1' and id=object_id('数据库名.Owner.表名'))

    print '存在'

  else

    print '不存在'

 (代表表tablename1中存在colname1字段 )

例:
  select * from syscolumns where name='Test' and id=object_id('dbo.test')

 

SQL Server中判断存储过程或视图是否存在:

   if object_id('视图或存储过程名')  is not null

     drop proc/view 。。。

   go

   create proc/view  。。。

 

  或

 

  if Exists(select * from sysobjects where name='视图或存储过程名'  AND  type  =  'P/V')

     drop proc/view  。。。

  go  

  create proc/view  。。。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: