zoukankan      html  css  js  c++  java
  • SQL SERVER 判断是否存在数据库、表、列、视图

    SQL SERVER 判断是否存在数据库、表、列、视图

    --1. 判断数据库是否存在
    IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名') 
      DROP DATABASE [数据库名] 
    --2. 判断表是否存在
    IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[表名]') AND OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) 
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --3. 判断存储过程是否存在
    IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[存储过程名]') AND OBJECTPROPERTY(ID, N'ISPROCEDURE') = 1) 
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --4. 判断临时表是否存在
    IF OBJECT_ID('TEMPDB..#临时表名') IS NOT NULL   
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --5. 判断视图是否存在
    --SQL SERVER 2005  
    IF EXISTS (SELECT * FROM SYS.VIEWS WHERE OBJECT_ID = '[DBO].[视图名]'
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --6. 判断函数是否存在 
    IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[DBO].[函数名]') AND XTYPE IN (N'FN', N'IF', N'TF'))   
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --7. 获取用户创建的对象信息
    SELECT [NAME],[ID],CRDATE FROM SYSOBJECTS WHERE XTYPE='U' 
    /* 
    XTYPE 的表示参数类型,通常包括如下这些 
    C = CHECK 约束 
    D = 默认值或 DEFAULT 约束 
    F = FOREIGN KEY 约束 
    L = 日志 
    FN = 标量函数 
    IF = 内嵌表函数 
    P = 存储过程 
    PK = PRIMARY KEY 约束(类型是 K) 
    RF = 复制筛选存储过程 
    S = 系统表 
    TF = 表函数 
    TR = 触发器 
    U = 用户表 
    UQ = UNIQUE 约束(类型是 K) 
    V = 视图 
    X = 扩展存储过程 
    */ 
    --8. 判断列是否存在
    IF EXISTS(SELECT * FROM SYSCOLUMNS WHERE ID = OBJECT_ID('表名') AND NAME = '列名') 
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --9. 判断列是否自增列
    IF COLUMNPROPERTY(OBJECT_ID('表名'),'列名','ISIDENTITY') = 1 
      PRINT '自增列' 
    ELSE 
      PRINT '不是自增列'
      
    SELECT * FROM SYS.COLUMNS WHERE OBJECT_ID = OBJECT_ID('表名')  AND IS_IDENTITY = 1
    
    --10. 判断表中是否存在索引
    IF EXISTS(SELECT * FROM SYSINDEXES WHERE ID = OBJECT_ID('表名') AND NAME='索引名')   
      PRINT  '存在'   
    ELSE   
      PRINT  '不存在'
    --11. 查看数据库中对象
    SELECT * FROM SYS.SYSOBJECTS WHERE NAME='对象名'
  • 相关阅读:
    初认识AngularJS
    (imcomplete) UVa 10127 Ones
    UVa 10061 How many zero's and how many digits?
    UVa 11728 Alternate Task
    UVa 11490 Just Another Problem
    UVa 10673 Play with Floor and Ceil
    JSON对象和字符串的收发(JS客户端用typeof()进行判断非常重要)
    HTML.ActionLink 和 Url.Action 的区别
    EASYUI TREE得到当前节点数据的GETDATA方法
    jqueery easyui tree把已选中的节点数据拼成json或者数组(非常重要)
  • 原文地址:https://www.cnblogs.com/liushen/p/4306828.html
Copyright © 2011-2022 走看看