Sqlserver判断数据库表,字段,存储过程等是否存在

--判断数据库是否存在   
if exists (select * from sys.databases where name = '数据库名')  
--drop database [数据库名]  
  
--判断表是否存在  
if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)  
--drop table [表名]  
  
if object_id(N'tablename',N'U') is not null  
print '表存在'  
else   
print '表不存在'  
  
--判断某表的某字段是否存在    
if (not exists(select * from syscolumns where id=object_id('表明') and name='字段名'))    
print '字段存在'  
else   
print '字段不存在'  
  
--判断存储过程是否存在  
if exists (select * from sysobjects where id = object_id(N'[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)  
-- drop procedure [存储过程名]  

  
--判断是否存在'MyView52'这个试图
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = N'MyView52')
PRINT '存在'
else
PRINT '不存在'

--判断函数是否存在   
IF OBJECT_ID (N'函数名') IS NOT NULL DROP FUNCTION dnt_split  
  
--判断数据库是否开启了全文搜索   
select databaseproperty('数据库名','isfulltextenabled')  
  
--判断全文目录是否存在   
select * from sysfulltextcatalogs where name ='全文目录名称'  


你可能感兴趣的:(MSSQL,SQL相关)