Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在
--判断数据库是否存在
IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = '库名')
PRINT 'exists '
else
PRINT 'not exists'
-- 判断要创建的表名是否存在
IF EXISTS (Select * From sysObjects Where Name ='表名' And Type In ('S','U'))
PRINT 'exists'
ELSE
PRINT 'not exists'
GO
--判断要创建临时表是否存在
If Object_Id( 'Tempdb.dbo.#Test') Is Not NULL--#Test 为临时表名
Begin
print '存在 '
End
Else
Begin
print '不存在 '
End
---------------
-- 判断要创建的存储过程名是否存在
IF EXISTS (Select * From sysObjects Where Name ='存储过程名' And Type In ('S','P'))
PRINT 'exists'
ELSE
PRINT 'not exists'
GO
-- 判断列名是否存在
IF EXISTS (SELECT O.NAME AS 表名,C.NAME AS 列名
FROM SYSOBJECTS O INNER JOIN SYSCOLUMNS C ON O.ID=C.ID
WHERE O.NAME= '表名' AND C.NAME = '列名')
SELECT 'EXISTS'
ELSE
SELECT 'NOT EXISTS'
判断表名存在的一个函数
IF COL_LENGTH( '表名','列名') IS NULL
PRINT 'not exists'
ELSE
PRINT 'exists'
注:a 是一个表,U代表是数据表类型
类似于U的类型代码,如下所示
对象类型:
AF = 聚合函数 (CLR)
C = CHECK 约束
D = DEFAULT(约束或独立)
F = FOREIGN KEY 约束
PK = PRIMARY KEY 约束
P = SQL 存储过程
PC = 程序集 (CLR) 存储过程
FN = SQL 标量函数
FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数
R = 规则(旧式,独立)
RF = 复制筛选过程
SN = 同义词
SQ = <strong class="kgb" onmouseover="isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u670D_u52A1";KeyGate_ads.ShowGgAds(this,"_u670D_u52A1",event)" style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick="javascript:window.open("http://www.google.com/aclk?sa=L&ai=Bh2rlOAWHR56sBozu6AOroqCAC5_q_jCXvsOWA_iU2JQFwKkHEAIYAiCvmqoJKAM4AVDrnYft_f____8BYJ3h24HQBaoBCjEwMDAwMTYwMDLIAQHIAo-anALZAwUzhILJ-9To&num=2&q=http://www2.tek.com/cnweb/products/oscilloscopes/%3FWT.srch%3D1%26WT.mc_id%3Dppc,ggl,scope_aw_ch_cn_scope,k171E,s,766361139%26&sig=AGiWqtxyWRPsXCeA4J63cbgSQs3krP7s8Q");GgKwClickStat("服务","www.tektronix.com.cn","afs","1000016002");" onmouseout="isShowGg = false;InTextAds_GgLayer="_u670D_u52A1"">服务队列
TA = 程序集 (CLR) DML <strong class="kgb" onmouseover="isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u89E6_u53D1_u5668";KeyGate_ads.ShowGgAds(this,"_u89E6_u53D1_u5668",event)" style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick="javascript:window.open("http://www.google.com/aclk?sa=l&ai=BQIoCOAWHR56sBozu6AOroqCAC5iBlTOIz87RBPDWtnnAmgwQARgBIK-aqgkoAzABOAFQ7tXJy_7_____AWCd4duB0AWgAaqp9v4DqgEKMTAwMDAxNjAwMsgBAcgC6MOOAdkDBTOEgsn71OjgAxA&num=1&q=http://toolbar.google.com/T4/intl/zh-CN/%3Futm_campaign%3DzhCN%26utm_source%3DzhCN-ha-ww-google%26utm_medium%3Dha%26utm_term%3D%25E5%25B7%25A5%25E5%2585%25B7%26tbbrand%3DGZAZ&sig=AGiWqtzKjiNgl3U7aRUdC4tjyZq0F7XBBQ");GgKwClickStat("触发器","toolbar.google.com/zh-CN","afs","1000016002");" onmouseout="isShowGg = false;InTextAds_GgLayer="_u89E6_u53D1_u5668"">触发器
TR = SQL DML 触发器
IF = SQL 内联表值函数
TF = SQL 表值函数
U = 表(用户定义类型)
UQ = UNIQUE 约束
V = 视图
X = 扩展存储过程
IT = 内部表
Sql中判断"数据库"、"表"、"临时表"、"存储过程"和列"是否存在的更多相关文章
- MS SQL 中判断 数据库, 存储过程,表,临时表,视图,函数,用户,用户创建对象 等是否存在 SQL脚本
摘自: http://www.111cn.net/database/mssqlserver/39107.htm sql判断存储过程是否存在 判断数据库教程是否存在 Sql代码 if exists (s ...
- Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在
--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = ''库名'') PRINT ''exists ...
- SQL中查看数据库各表的大小
SQL中查看数据库各表的大小 编写人:CC阿爸 2014-6-17 在日常SQL数据库的操作中,如何快速的查询数据库中各表中数据的大小. 以下有两种方法供参考: 第一种: create table # ...
- SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里
表一: SPRD PRD_NO SPC 001 NULL 002 NULL 003 NULL ... ...
- android sqlite中判断某个表是否存在
<span style="font-size:18px;">sqlite 中判断某个表是否存在的方法,贴出来供大家参考 /** * 判断某张表是否存在 * @param ...
- SQL中 将同一个表中的A列更新到B列,B列更新到A列
有网友在SKYPE问及,如标题,SQL中 将同一个表中的A列更新到B列,B列更新到A列. 其实这个不是问题,直接写更新语句即可,可以参考下面动画演示: SQL source code: CREATE ...
- db2数据库中查找数据库表
模糊查找db2数据库中的数据库表: select tabname,remarks from syscat.tables where TABNAME like 'DM%' select 'DROP T ...
- Sql中判断"库、表、列,视图,存储过程"是否存在
--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER.sys.sysdatabases WHERE NAME = '库名') PRINT 'exists ' else ...
- SQL Server判断数据库、表、存储过程、函数是否存在
--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否 ...
随机推荐
- BlockingQueue-----多线程(一)
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便 ...
- Mysql/Mariadb 升级注意事项
因需要使用到分区表,在业务不中断的情况下,可以新增分区,需要将原来的Mariadb10.1.25版本升级到Mariadb10.3.8. 1.升级步骤如下 1)新搭建Mariadb10.3.8版本的DB ...
- POJ 1007 DNA sorting (关于字符串和排序的水题)
#include<iostream>//写字符串的题目可以用这种方式:str[i][j] &str[i] using namespace std; int main() {int ...
- (C/C++学习笔记) 九. 变量的存储类型
九. 变量的存储类型 ● 变量的存储类型(见附页) ● 注释 ①对于自动变量,它属于动态存储方式. 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式.由此看来,一个 ...
- hadoop IPC 源代码分析
如图所示, 在hadoop中客户端需要和服务端通信 . 首先我们看一下需求是啥. 举一个例子,在客户端想要往hadoop集群中写数据的时候,它需要先和namenode通信,以便获得 诸一 ...
- windowsphone开发页面跳转到另一个dll中的页面
WP的页面跳转一般是只能跳转到本DLL的页面, 如果要跳转到其他DLL的页面则需要这样写 (Application.Current.RootVisual as PhoneApplicationFram ...
- 玩转X-CTR100 l STM32F4 l TB6612直流电机调速控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的直流调速电机控制,X ...
- ESXi6.5中将虚拟机从厚置备转换为精简置备
本文来自:https://blog.csdn.net/wangjingkaibear/article/details/77097041 用ESXi做虚拟化,创建了一个原始虚拟机并安装好系统做好基本设置 ...
- STM32中断定时,控制LED灯
#include "led.h" void TIM3_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBas ...
- L2-2 重排链表 (25 分)
给定一个单链表 L1→L2→⋯→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→⋯.例如:给定L为1→2→3→4→5→6,则输出 ...