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' 
  • 相关阅读:
    图形
    附属信息
    文件操作
    字符编码
    Python数据类型之基础记。。。
    python并发编程之多进程
    python并发编程之多进程
    计算机基础之计算机系统的简单了解。
    元类
    基于socketserver模块实现并发tcp/udp
  • 原文地址:https://www.cnblogs.com/KenBlove/p/1446421.html
Copyright © 2011-2022 走看看