zoukankan      html  css  js  c++  java
  • SQL常用判断检测语句

    sql
    ------------------------------------------------------------  
    --
       判断数据库是否存在   
      IF EXISTS (
            
    SELECT *
            
    FROM   master..sysdatabases
            
    WHERE  name = N'DBName'
         )
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
       判断要创建的表名是否存在   
      IF EXISTS (
            
    SELECT *
            
    FROM   dbo.sysobjects
            
    WHERE  id = object_id(N'[dbo].[TableName]')
              
    AND  OBJECTPROPERTY(id,   N'IsUserTable'= 1
         )
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
       判断要创建临时表是否存在   
      IF Object_Id('Tempdb.dbo.#TempDBName')   IS   NOT   NULL
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
        判断要创建的存储过程名是否存在   
      IF EXISTS (
            
    SELECT *
            
    FROM   dbo.sysobjects
            
    WHERE  id = object_id(N'[dbo].[SPName]')
              
    AND  OBJECTPROPERTY(id,   N'IsProcedure'= 1
         )
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
       判断要创建的视图名是否存在   
      IF EXISTS (
            
    SELECT *
            
    FROM   dbo.sysobjects
            
    WHERE  id = object_id(N'[dbo].[ViewName]')
              
    AND  OBJECTPROPERTY(id,   N'IsView'= 1
         )
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
       判断要创建的函数名是否存在   
      IF EXISTS (
            
    SELECT *
            
    FROM   dbo.sysobjects
            
    WHERE  id = object_id(N'[dbo].[FunName]')
              
    AND  xtype   IN (N'FN', N'IF', N'TF')
         )
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
       判断要创建的列名是否存在  
        IF EXISTS (
              
    SELECT o.name AS TableName,
                     c.name 
    AS ColumnName
              
    FROM   sysobjects   o   INNER
              
    JOIN   syscolumns   c
                
    ON   o.id = c.id
              
    WHERE  o.name = 'TableName'
                
    AND  c.name = 'ColumnName'
           )
            
    PRINT   'exists'
        
    ELSE 
            
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
      或者
      IF EXISTS (
            
    SELECT 1
            
    FROM   sysobjects
            
    WHERE  id   IN (SELECT id
                            
    FROM   syscolumns
                            
    WHERE  name = 'ColumnName')
              
    AND  name = 'TableName'
         )
          
    PRINT   'exists'
      
    ELSE 
          
    PRINT   'not   exists'
    ------------------------------------------------------------  
    --
       或者
      IF col_length('TableName',   'ColumnName')   IS   NULL
          
    PRINT   'not exists'
      
    ELSE 
          
    PRINT   'exists' 
  • 相关阅读:
    i++和++i
    MySQL 5.6 for Windows 解压缩版配置安装-----------有点难看懂
    mysqld install报错:Install/Remove of the Service DeniedMy/Authentication plugin 'caching_sha
    mysql中,执行mysqld –install命令 、net start mysql命令出错的解决办法
    Mysql 服务无法启动 服务没有报告任何错误------------------mysql安装步骤
    mysql数据库安装步骤
    对io进行分流
    JDBC、mybatis、hibernate连接数据库
    当前电商行业的介绍
    MySQL常见常用的SQL优化
  • 原文地址:https://www.cnblogs.com/KenBlove/p/1446421.html
Copyright © 2011-2022 走看看