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
  • 相关阅读:
    在c#中使用全局快捷键
    把其他C/C++编译器集成到VC2005中
    零基础学习Oracle 10G视频教程
    异常处理 Exception
    序列化与反序列化 BinaryFormatter二进制(.dat)、SoapFormatter(.soap)、XmlSerializer(.xml)
    MVC 数据验证
    MVC 路由规则
    分部类,分部方法 修饰符partial
    HttpRuntime类
    MVC 模型绑定
  • 原文地址:https://www.cnblogs.com/xqhppt/p/3826900.html
Copyright © 2011-2022 走看看