[SQL Server] sysobjects的介紹
2024-09-10 23:54:06
sysobjects表
數據庫中所創建的每個對象(約束、默認值、日誌、規則、存儲過程等)都各以一行資訊呈現於表中。
而臨時對象只有在tempdb內,才在該表中各佔一行。
sysobjects 表結構:
列名 | 數據類型 | 描述 |
name | sysname | 對象名,常用列 |
id | int | 對象標識號 |
xtype | char(2) | 對像類型。常用列。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 =擴展存儲過程 |
uid | smallint | 所有者用戶對象編號 |
info | smallint | 保留。僅限內部使用 |
status | int | 保留。僅限內部使用 |
base_schema_ ver | int | 保留。僅限內部使用 |
replinfo | int | 保留。供複製使用 |
parent_obj | int | 父對象的對象標識號(例如,對於觸發器或約束,該標識號為表ID)。 |
crdate | datetime | 對象的創建日期。 |
ftcatid | smallint | 為全文索引註冊的所有用戶表的全文目錄標識符,對於沒有註冊的所有用戶表則為 0 |
schema_ver | int | 版本號,該版本號在每次表的架構更改時都增加。 |
stats_schema_ ver | int | 保留。僅限內部使用。 |
type | char(2) | 對像類型。可以是下列值之一: C = CHECK約束D =默認值或DEFAULT約束F = FOREIGN KEY約束 FN =標量函數IF =內嵌表函數K = PRIMARY KEY或UNIQUE約束 L =日誌P =存儲過程R =規則RF =複製篩選存儲過程 S =系統表TF =表函數TR =觸發器U =用戶表V =視圖X =擴展存儲過程 |
userstat | smallint | 保留。 |
sysstat | smallint | 內部狀態信息 |
indexdel | smallint | 保留 |
refdate | datetime | 留用 |
version | int | 保留 |
deltrig | int | 保留 |
instrig | int | 保留 |
updtrig | int | 保留 |
seltrig | int | 保留 |
category | int | 用於發布、約束和標識 |
cache | smallint | 保留 |
可用where條件命令列出所感興趣的對象:
SELECT * FROM sysobjects WHERE xtype = ' V '
判斷數據庫中是否已經存在某個表,有的話就刪除該表
-- 方法一:
if exists ( select * from dbo.sysobjects where id = object_id (N ' [dbo].[表名] ' ) and OBJECTPROPERTY (id, N ' IsUserTable ' ) = 1 )
drop table [ dbo ] . [ 表名] -- 方法二:
if exists ( select * from sysobjects where id = object_id (N ' 表名' ) and OBJECTPROPERTY (id, N ' IsUserTable ' ) = 1 )
drop table [ dbo ] . [ 表名] -- 方法三:
if ( Exists ( Select * From SysObjects Where xtype = ' U ' And Name = ' 表名' ))
drop table [ dbo ] . [ 表名]
註1: N''代表Unicode類型.可以支持不同語種的對象名
註2:OBJECTPROPERTY避免誤刪非使用者創建的資料
OBJECTPROPERTY ( id , property )
id:表示當前數據庫中對象ID的表達式。id是int,並且被假定為當前數據庫上下文中的模式作用域對象。
property:是表示由id指定的對象返回的信息的表達式。
如果為True 回傳 1,如果為Falsec回傳 0。
資訊參照《一棵樹-博客園》
最新文章
- [干货来袭]C#6.0新特性
- Jquery 轮播图简易框架
- CSS3支持box-flex弹性布局
- iptables案例手册
- linux--杂记(rework)
- Pig Hive对比(zz)
- 【转】svn服务器IP修改后,本地怎么跟新svn同步,svn relocate 操作
- AC自动机修正
- linux的find指令详解。
- 高仿xx教育网
- 微信公众号开发笔记3-sdk接入(nodejs)
- Mysql中的常用函数:
- 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
- npm镜像地址的修改或切换
- 我的Java之旅 第六课 JAVA WEB 请求与响应
- Mysql linux -N命令
- OpenGL中的渐变颜色绘图(应力可视化)
- MyBatis的一级缓存和二级缓存简介笔记
- C语言 · 龟兔赛跑预测
- [翻译] HSDatePickerViewController
热门文章
- solrcloud jsonfacet分组聚合 unique计数不准确
- linux 普通用户批量创建账户与密码
- 在当前TestSuite/TestCase run之前先run另一个TestSuite/TestCase
- linux 免密码登陆
- 解决安装虚拟环境出现的问题(OSError: Command /home/python/.virtua...ngo3_web/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2)
- 20175224 2018-2019-2 《Java程序设计》第六周学习总结
- Dangerous well
- cocoapod podpackage 自动根据podfile生成framework实现二进制化,原创脚本,转载请注明出处
- ReentrantLock+线程池+同步+线程锁
- 如何让浏览器直接输出HTML代码而不解析