sql判断函数、存储过程是否存在的代码整理

   2015-07-17 0
核心提示:本文主要为大家介绍了sql下用来判断各种资源是否存在的代码,希望对大家学习sql的函数及数据库能够有所帮助

下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助。

-- 库是否存在
if exists(select * from master..sysdatabases where name=N'库名')
print 'exists'
else
print 'not exists'
-- 判断要创建的表名是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
-- 删除表
drop table [dbo].[表名]
GO
--判断要创建临时表是否存在
If Object_Id('Tempdb.dbo.#Test') Is Not Null
Begin
print '存在'
End
Else
Begin
print '不存在'
End
-- 判断要创建的存储过程名是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
-- 删除存储过程
drop procedure [dbo].[存储过程名]
GO
-- 判断要创建的视图名是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[视图名]') and OBJECTPROPERTY(id, N'IsView') = 1)
-- 删除视图
drop view [dbo].[视图名]
GO
-- 判断要创建的函数名是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF'))
-- 删除函数
drop function [dbo].[函数名]
GO
if col_length('表名', '列名') is null
print '不存在'
select 1 from sysobjects where id in (select id from syscolumns where name='列名') and name='表名'
 
标签: 函数 存储过程
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • sql:mysql:函数:TIMESTAMPDIFF函数实现TimeStamp字段相减,求得时间差
    sql:mysql:函数:TIMESTAMPDIFF函数实现TimeS
     函数内指定是minute,则最终结果value值的单位是分钟,如果函数内指定为hours,则最终结果value值单位为小时。//UPLOAD_TIME 减去 CREATE_DTTM 求得时间差,以分钟数计时select avg(TIMESTAMPDIFF(MINUTE,CREATE_DTTM,UPLOAD_TIME)) value,LEFT(CREATE_DTTM
    03-08
  • SQL ORACLE case when函数用法
    case when 用法(1)简单case函数:格式:  case 列名   when 条件值1 then 选项1  when 条件值1 then 选项2......  else 默认值 end例如:  select   case job_level  when '1' then '1111'  when '2' then '2222'   when '3' then '3333
    02-10
  • (二)SQL注入常用的内置函数整理(以MySql为例)
    (二)SQL注入常用的内置函数整理(以MySql为例)
    【1】@@datadir 函数作用:返回数据库的存储目录构造SQL语句 select @@datadir; 【2】@@version_compile_os 函数作用:查看服务器的操作系统SQL语句:select @@version_compile_os; 【3】database() 函数作用:查看当前连接的数据库名称SQL语句:select da
    02-10
  • [转]SQL SERVER 函数组合实现oracle的LPAD函数
    本文转自:http://blog.csdn.net/a475701239/article/details/8295976      在写存储过程的时候遇到个问题,就是 将数字转成4位右对齐的字符串,不足补0      比如: 1   -- '0001'      在网上找了不少资料,最后找到个oracle的库函数 LPAD
    02-10
  • Oracle PL/SQL之函数索引(Function-based inde
    函数索引(Function-based indexes)只有在where条件使用了与索引中相同的基于相同列的函数时才起作用。 duzz$scott@orclset autotrace onduzz$scott@orclcreate table t1 as select * from dept;Table created.Elapsed: 00:00:00.01duzz$scott@orclcreate i
    02-10
  • 51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
    

51ak带你看MYSQL5.7源码1:main入口函数
51ak带你看MYSQL5.7源码2:编译现有的代码
51ak带你看MY
    51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
     博客迁移至: https://www.dboop.com/从事DBA工作多年MYSQL源码也是头一次接触尝试记录下自己看MYSQL5.7源码的历程申明:个人Python编程很溜,但是C++还停在白痴水平,源码理解方面有点弱,如发现有错误的地方,轻喷。 博客的题目是看源码,实际上可能会发
    02-10
  • ORACLE数据库sql语句时间戳转时间 oracle数据库
    SELECT TO_CHAR(ADDTIME/ (60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS TESTDATE  FROM TIMWIN其中“HH24:MI:SS”为24小时制
    02-10
  • ORACLE SQL 函数 INITCAP()
      INITCAP()  假设c1为一字符串.函数INITCAP()是将每个单词的第一个字母大写,其它字母变为小写返回.  单词由空格,控制字符,标点符号等非字母符号限制. select initcap('hello world') from dual;  结果   INITCAP('HE  -----------  Hello Worl
    02-10
  • Oracle SQL自带函数整理
    数字函数  abs(n):用于返回数字n的绝对值  ceil(n):返回大于等于数字n的最小整数  floor(n):返回小于等于数字n的最大整数  mod(m,n):返回m/n数字相除后的余数,如果n=0,则返回m  round(n,[m]):执行四舍五入运算,如果省略m则四舍五入到整数位。  
    02-10
  • oracle存储过程例子,包含函数,动态执行sql
     如下: 1 create or replace procedure JDGL_PRO_GET_DFLZJSBB3(p_date1 in varchar2, res OUT sys_refcursor) is2 3 strSql clob;4 5FUNCTION CONACT_SQL_JS(XFAJ0902 IN VARCHAR2,XFAJ0903 IN VARCHAR2) RETURN clob AS6BEGIN7 RETURN'8 SELECT9--合计省
    02-10
点击排行