Sqlserver 中系統表sysobjects、syscolumns以及函數object_id


1、sysobjects

系統對象表。 保存當前數據庫的對象,如約束、默認值、日志、規則、存儲過程等

sysobjects 重要字段解釋:

sysObjects (

Name sysname, --object 名稱

id int, --object id

xtype char(2), -- object 類型

type char(2), -- Object 類型(與xtype 似乎一模一樣)

uid smallint, -- object 所有者的ID

... --其他的字段不常用到。

)

 

注:需要解釋的是 xtype 和type 是一模一樣的,他的數據為:

C = CHECK 約束

D = 默認值或 DEFAULT 約束

F = FOREIGN KEY 約束

FN = 標量函數

IF = 內嵌表函數

K = PRIMARY KEY 或 UNIQUE 約束

L = 日志

P = 存儲過程

R = 規則

RF = 復制篩選存儲過程

S = 系統表

TF = 表函數

TR = 觸發器

U = 用戶表

V = 視圖

X = 擴展存儲過程

 

 

 

2、sysolumns

當前數據庫的所有字段都保留在里面。

重要字段解釋:

sysColumns (

name sysname, --字段名稱

id int, --該字段所屬的表的ID

xtype tinyInt, --該字段類型,關聯sysTypes表

length smallint, --該字段物理存儲長度

...

)

 

3、SQL中的sysobjects與syscolumns

查看所有表名:

select name from sysobjects where type='U'

查詢表的所有字段名:

Select name from syscolumns Where ID=OBJECT_ID('表名')

 

4、SQL中object_id函數的用法

int object_id('objectname');

此方法返回數據庫對象標識號。

其中,參數objectname 表示要使用的對象,其數據類型為nchar或char(如果為char,系統將其轉換為nchar)

返回類型為int,表示該對象在系統中的編號。

比如:

use wf_timesheet

select object_id('usp_check_excess_hours')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM