SQL Server判断数据库、表、存储过程、函数是否存在

  1. --1.判断数据库是否存在  
  2. IF EXISTS (  
  3.        SELECT *  
  4.        FROM   sys.databases  
  5.        WHERE  NAME = '[数据库名]'  
  6.    )  
  7.     DROP DATABASE [数据库名]  
  8.   
  9. --2.判断表是否存在  
  10. IF EXISTS (  
  11.        SELECT *  
  12.        FROM   sysobjects  
  13.        WHERE  id = OBJECT_ID(N'[表名]')  
  14.               AND OBJECTPROPERTY(id, N'IsUserTable') = 1  
  15.    )  
  16.     DROP TABLE [表名]  
  17.   
  18. --3.判断存储过程是否存在  
  19. IF EXISTS (  
  20.        SELECT *  
  21.        FROM   sysobjects  
  22.        WHERE  id = OBJECT_ID(N'[存储过程名]')  
  23.               AND OBJECTPROPERTY(id, N'IsProcedure') = 1  
  24.    )  
  25.     DROP PROCEDURE [存储过程名]  
  26.   
  27. --4.判断函数是否存在  
  28. IF OBJECT_ID(N'函数名') IS NOT NULL  
  29.     DROP FUNCTION dnt_split  
  30.   
  31. ---5.判断数据库是否开启了全文搜索  
  32. SELECT DATABASEPROPERTY('数据库名', 'isfulltextenabled')  
  33.   
  34. --6.判断全文目录是否存在  
  35. SELECT *  
  36. FROM   sysfulltextcatalogs  
  37. WHERE  NAME = '全文目录名称'  
  38.   
  39. --7.判断要创建临时表是否存在  
  40. IF OBJECT_ID('临时表') IS NOT NULL  
  41. BEGIN  
  42.     PRINT '存在'  
  43. END  
  44. ELSE  
  45. BEGIN  
  46.     PRINT '不存在'  
  47. END  
  48.   
  49. -- 8.判断要创建的视图名是否存在  
  50. IF EXISTS (  
  51.        SELECT *  
  52.        FROM   dbo.sysobjects  
  53.        WHERE  id = OBJECT_ID(N'[dbo].[视图名]')  
  54.               AND OBJECTPROPERTY(id, N'IsView') = 1  
  55.    )  
  56.     DROP VIEW [dbo].[视图名]  
    1.  --9.判断table1中是否存在name字段        
    2. IF EXISTS(  
    3.        SELECT *  
    4.        FROM   syscolumns  
    5.        WHERE  id = OBJECT_ID('table1')  
    6.               AND NAME = 'name'  
    7.    )  
    8. BEGIN  
    9.     SELECT *  
    10.     FROM   table1;  
    11. END       
    12.    
    13. --10.判断table1中是否存在name字段且删除字段     
    14. IF EXISTS(  
    15.        SELECT *  
    16.        FROM   syscolumns  
    17.        WHERE  id = OBJECT_ID('table1')  
    18.               AND NAME = 'name'  
    19.    )  
    20. BEGIN  
    21.     SELECT *  
    22.     FROM   table1;   
    23.     ALTER TABLE table1 DROP COLUMN NAME  
    24. END   
原文地址:https://www.cnblogs.com/shouyeren/p/6559224.html