zoukankan      html  css  js  c++  java
  • t-sql判断数据库对象是否存在

    1 系统表sys.sysobjects

    在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行,详细介绍参考MSDN

    2 OBJECTPROPERTY

    返回当前数据库中架构范围内的对象的有关信息,MSDN介绍

    3 判断数据库、表、视图、存储过程、索引、列是否存在语句

    SELECT * FROM sys.sysobjects
    GO
    /* 
          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 = 扩展存储过程
    */--数据库
    IF exists( SELECT 1 from sys. sysdatabases where name = dbname)
    begin
           drop database dbname
    end
    
    --
    IF exists( SELECT 1 from sys. sysobjects where id = object_id (N'tbname') AND OBJECTPROPERTY (id, N'IsUserTable') = 1)
    BEGIN
           drop TABLE tbname
    END
    
    --存储过程  
    IF exists( SELECT 1 from sys. sysobjects where id = object_id(N'System_GetTableCreateSql' )
           AND OBJECTPROPERTY (id, N'IsProcedure') = 1)
    BEGIN
           drop PROC System_GetTableCreateSql
    END
    
    --函数
    IF exists (SELECT 1 from sys.sysobjects where id = object_id('procname' ))
    BEGIN
       drop Function procname
    END
    
    --视图
    IF exists( SELECT 1 from sys. views where object_id = object_id(N'viewname' ))
    BEGIN
       drop VIEW viewname
    END
    
    --
    IF exists( SELECT 1 from syscolumns where id =object_id( 'tbname') and name='columnName' )
    BEGIN 
       alter table tbname drop column columnName
    END
    
    --索引
    IF exists( SELECT 1 from sys. sysindexes where id= object_id('tbname' ) and name='indexName' )
    BEGIN
           drop INDEX indexName ON tbname
    END
  • 相关阅读:
    Redis入门
    k8s dubbo微服务之maven配置
    NoSQL发展历史与阿里巴巴架构演进分析
    k8s交付dubbo微服务之部署Jenkins
    k8s版本平滑升级
    读 <The Lost Horizon> 感
    luogu P1026 统计单词个数
    acm一些小细节/技巧
    数据结构与算法——常用高级数据结构及其Java实现
    数据结构与算法——常用排序算法及其Java实现
  • 原文地址:https://www.cnblogs.com/xqhppt/p/3826900.html
Copyright © 2011-2022 走看看