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='对象名'
  • 相关阅读:
    用Eclipse+MyEclipse开发struts的一个经典的实例(转)
    TOMCAT配置虚拟目录
    翻动100万级的数据(自定义的MSSQL分页查询过程)
    MyEclipse Hibernate 快速入门中文版
    微软提供的数据访问组件SqlHelper
    Java内存管理(一、内存分配)
    使用commonlogging与log4j打印日志,发现版本冲突
    Java内存管理(二、Java垃圾回收)
    初探java内存机制_堆和栈
    关于单CPU,多CPU上的原子操作
  • 原文地址:https://www.cnblogs.com/liushen/p/4306828.html
Copyright © 2011-2022 走看看