博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OBJECT_ID 技巧整理
阅读量:6632 次
发布时间:2019-06-25

本文共 1382 字,大约阅读时间需要 4 分钟。

--数据库是否存在

if EXISTS(select * from master..sysdatabases where [NAME] = N'数据库名')
    PRINT '存在'
ELSE
    PRINT '不存在'
--表是否存在
if EXISTS(select * from dbo.sysobjects where id = OBJECT_ID(N'表名') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    PRINT '存在'
ELSE
    PRINT '不存在'
--临时表是否存在
IF (OBJECT_ID('Tempdb.dbo.#Test') IS NOT NULL)
    PRINT '存在'
ELSE
    PRINT '不存在'
    
--视图是否存在
if EXISTS(select * from dbo.sysobjects where id = OBJECT_ID(N'视图名') and OBJECTPROPERTY(id, N'IsView') = 1)
    PRINT '存在'
ELSE
    PRINT '不存在'
--存储过程是否存在
IF EXISTS(select * from sysobjects where id = OBJECT_ID(N'存储过程名') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    PRINT '存在'
ELSE
    PRINT '不存在'
--函数是否存在
IF EXISTS(select * from dbo.sysobjects where id = OBJECT_ID(N'函数名') and xtype in (N'FN', N'IF', N'TF'))
    PRINT '存在'
ELSE
    PRINT '不存在'
/*
以下资料来自网络
sysObjects (
Name    sysname,       --object 名称
id         int,                --object id
xtype    char(2),         -- object 类型   
type     char(2),          -- Object 类型(与xtype 似乎一模一样? 有点郁闷…)
uid        smallint,        -- object 所有者的ID
...                             --其他的字段不常用到。   
)
sysobjects的xtype代表的对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量值函数
IF = 内嵌表值函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表值函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
*/

转载于:https://www.cnblogs.com/Frankabc/archive/2012/04/06/SQLServer_%e5%88%a0%e9%99%a4%e5%ad%98%e5%82%a8%e8%bf%87%e7%a8%8b_%e5%88%a0%e9%99%a4%e5%87%bd%e6%95%b0.html

你可能感兴趣的文章
jFinal 关联数据库操作
查看>>
团队冲刺第二天
查看>>
sed删除空行和开头的空格和tab键
查看>>
php扩展安装
查看>>
15个重要的Android代码
查看>>
(转)android 牛人必修 ant 编译android工程
查看>>
求最大公约数与最小公倍数
查看>>
C# Winform 跨线程更新UI控件常用方法总结(转)
查看>>
【WebService】使用jaxb完成对象和xml的转换
查看>>
如何去除My97 DatePicker控件上右键弹出官网的链接 - 如何debug混淆过的代码
查看>>
输入5个学生的信息(包括学号,姓名,英语成绩,计算机语言成绩和数据库成绩), 统计各学生的总分,然后将学生信息和统计结果存入test.txt文件中...
查看>>
BZOJ2337 [HNOI2011]XOR和路径
查看>>
C# 该行已经属于另一个表 ...
查看>>
android 避免线程的重复创建(HandlerThread、线程池)
查看>>
type的解释
查看>>
从自动驾驶到学习机器学习:解读2017科技发展的15大趋势
查看>>
在Linux中永久并安全删除文件和目录的方法
查看>>
全民直播时代 内容监管还得靠技术
查看>>
c++ 类的对象与指针
查看>>
java-JDBC
查看>>