数据库常识
select * from dbo.sysobjects where type not in('S','D','K')?
('S','D','K') 值?
xtype char(2) 對(duì)象類(lèi)型。可以是下列對(duì)象類(lèi)型中的一種:?
C = CHECK 約束?
D = 默認(rèn)值或 DEFAULT 約束?
F = FOREIGN KEY 約束?
L = 日志?
FN = 標(biāo)量函數(shù)?
IF = 內(nèi)嵌表函數(shù)?
P = 存儲(chǔ)過(guò)程?
PK = PRIMARY KEY 約束(類(lèi)型是 K)?
RF = 復(fù)制篩選存儲(chǔ)過(guò)程?
S = 系統(tǒng)表?
TF = 表函數(shù)?
TR = 觸發(fā)器?
U = 用戶表?
UQ = UNIQUE 約束(類(lèi)型是 K)?
V = 視圖?
X = 擴(kuò)展存儲(chǔ)過(guò)程
在大多數(shù)情況下,對(duì)你最有用的兩個(gè)列是sysobjects.name和sysobjects.type,sysobjects.xtype。前面一個(gè)用來(lái)列出待考察對(duì)象的名字,而后一個(gè)用來(lái)定義對(duì)象的類(lèi)型,其代碼如下:?
Type是在6.0就有的,XType在7.0才出現(xiàn):?
Type?
對(duì)象類(lèi)型。可以是下列值之一:?
C = CHECK 約束?
D = 默認(rèn)值或 DEFAULT 約束?
F = FOREIGN KEY 約束?
FN = 標(biāo)量函數(shù)?
IF = 內(nèi)嵌表函數(shù)?
K = PRIMARY KEY 或 UNIQUE 約束?
L = 日志?
P = 存儲(chǔ)過(guò)程?
R = 規(guī)則?
RF = 復(fù)制篩選存儲(chǔ)過(guò)程?
S = 系統(tǒng)表?
TF = 表函數(shù)?
TR = 觸發(fā)器?
U = 用戶表?
V = 視圖?
X = 擴(kuò)展存儲(chǔ)過(guò)程?
XType?
對(duì)象類(lèi)型。可以是下列對(duì)象類(lèi)型中的一種:?
C = CHECK 約束?
D = 默認(rèn)值或 DEFAULT 約束?
F = FOREIGN KEY 約束?
L = 日志?
FN = 標(biāo)量函數(shù)?
IF = 內(nèi)嵌表函數(shù)?
P = 存儲(chǔ)過(guò)程?
PK = PRIMARY KEY 約束(類(lèi)型是 K)?
RF = 復(fù)制篩選存儲(chǔ)過(guò)程?
S = 系統(tǒng)表?
TF = 表函數(shù)?
TR = 觸發(fā)器?
U = 用戶表?
UQ = UNIQUE 約束(類(lèi)型是 K)?
V = 視圖?
X = 擴(kuò)展存儲(chǔ)過(guò)程?
注意一:?
在碰到觸發(fā)器的情形下,用來(lái)識(shí)別觸發(fā)器類(lèi)型的其他三個(gè)列是:deltrig、instrig和uptrig。?
你可以用下面的命令列出感興趣的所有對(duì)象:?
SELECT * FROM sysobjects WHERE xtype =?
在特殊情況下,也就是在父表格擁有觸發(fā)器的情況下,你可能想要用下面這樣的代碼查找數(shù)據(jù)庫(kù):?
SELECT?
Sys2.[name] TableName,?
Sys1.[name] TriggerName,?
CASE?
WHEN Sys1.deltrig > 0 THEN’Delete’?
WHEN Sys1.instrig > 0 THEN’Insert’?
WHEN Sys1.updtrig > 0 THEN’Update’?
END’TriggerType’?
FROM?
sysobjects Sys1 JOIN sysobjects Sys2 ON Sys1.parent_obj = Sys2.[id]?
WHERE Sys1.xtype=’TR’?
ORDERBY TableName?
注意二:SQL Server 2005及2008版本,首選的技術(shù)是使用系統(tǒng)視圖?
這種方式會(huì)把你的查詢(xún)同微軟選擇對(duì)系統(tǒng)表格進(jìn)行的任何改變隔絕開(kāi)來(lái)。?
下面的語(yǔ)句,它們列出所有用戶表?
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE?
FROM INFORMATION_SCHEMA.TABLES?
ORDER BY TABLE_SCHEMA, TABLE_NAME?
下面的語(yǔ)句,它們列出所選數(shù)據(jù)庫(kù)里所有的函數(shù)和存儲(chǔ)過(guò)程。?
SELECT * FROM INFORMATION_SCHEMA.ROUTINES?
ORDER BY ROUTINE_TYPE, ROUTINE_NAME?
下面的語(yǔ)句,列出所有表字段?
Select * From INFORMATION_SCHEMA.COLUMNS?
也許我們可以讓SQL Server給自己生成文檔,或是按照表生成存儲(chǔ)過(guò)程或是寫(xiě)好數(shù)據(jù)基類(lèi)了…
轉(zhuǎn)載于:https://www.cnblogs.com/skyhorseyk/p/8214212.html
總結(jié)
- 上一篇: 洛谷——P1194 买礼物
- 下一篇: SQL Server-聚焦WHERE C