• 【转载】sql2005中判读视图、表、存储过程等是否存在的语句


    网上找了好多方法都不靠谱,尤其是百度百科的那个IF EXISTS (SELECT* FROM sys.views WHERE object_id = '[dbo].[视图名]',使用的时候直接报错,浪费我的时间

    下面的方法可行,最起码判读存储过程的那个可行,我已经测试了,其它的没有测试

     1 --判断数据库是否存在 
     2 IF EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE name=N'库名') 
     3 print 'exists' 
     4 ELSE 
     5 print 'not exists' 
     6 --------------- 
     7 -- 判断要创建的表名是否存在 
     8 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[表名]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) 
     9 -- 删除表 
    10 DROP TABLE [dbo].[表名] 
    11 GO 
    12 --------------- 
    13 --判断要创建临时表是否存在 
    14 IF Object_Id('Tempdb.dbo.#Test') IS NOT NULL 
    15 BEGIN 
    16 print '存在' 
    17 END 
    18 ELSE 
    19 BEGIN 
    20 print '不存在' 
    21 END 
    22 --------------- 
    23 -- 判断要创建的存储过程名是否存在 
    24 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[存储过程名]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) 
    25 -- 删除存储过程 
    26 DROP PROCEDURE [dbo].[存储过程名] 
    27 GO 
    28 --------------- 
    29 -- 判断要创建的视图名是否存在 
    30 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[视图名]') AND OBJECTPROPERTY(id, N'IsView') = 1) 
    31 -- 删除视图 
    32 DROP VIEW [dbo].[视图名] 
    33 GO 
    34 --------------- 
    35 -- 判断要创建的函数名是否存在 
    36 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[函数名]') AND xtype IN (N'FN', N'IF', N'TF')) 
    37 -- 删除函数 
    38 DROP FUNCTION [dbo].[函数名] 
    39 GO 
    40 IF col_length('表名', '列名') IS NULL 
    41 print '不存在' 
    42 SELECT 1 FROM sysobjects WHERE id IN (SELECT id FROM syscolumns WHERE name='列名') AND name='表名'
  • 相关阅读:
    Top Things to Consider When Troubleshooting Complex Application Issues
    compiler
    .net 开源相关
    windows快捷键
    NETMON& Message Analyzer
    Articles Every Programmer Must Read
    cluster,network
    SQL Debugging
    【重要】接口测试----必知常见问题解答(面试常会被问到)
    python+requests----登录接口reponse中token传递给其他接口使用的一个简单小示例介绍
  • 原文地址:https://www.cnblogs.com/siwei1988/p/2480359.html
Copyright © 2020-2023  润新知