sys.syscomments (Transact-SQL)
包含資料庫中每個視圖、規則、預設值、觸發器、CHECK 條件約束、DEFAULT 約束和預存程序的項。text 列包含原始的 SQL 定義語句。
標籤:syscomments表 雜談 |
分類:SQLServer |
列名 |
資料類型 |
說明 |
id |
int |
該文本適用的物件識別碼。 |
number |
smallint |
如果進行分組,則為過程分組內的號碼。 0 = 項不是過程。 |
colid |
smallint |
超過 4,000 個字元的對象定義的行序號。 |
status |
smallint |
標識為僅供參考。不提供支援。不保證以後的相容性。 |
ctext |
varbinary(8000) |
SQL 定義語句的原始位元組。 |
texttype |
smallint |
0 = 使用者提供的注釋 1 = 系統提供的注釋 4 = 加密的注釋 |
language |
smallint |
標識為僅供參考。不提供支援。不保證以後的相容性。 |
encrypted |
bit |
指示流程定義是否已經過模糊處理。 0 = 未經模糊處理 1 = 已經模糊處理 重要提示: 若要對預存程序定義進行模糊處理,請使用帶 ENCRYPTION 關鍵字的 CREATE PROCEDURE 語句。 |
compressed |
bit |
始終返回 0。該值指示過程已壓縮。 |
text |
nvarchar(4000) |
SQL 定義語句的實際文本。 SQL Server 2008 對目錄中繼資料中的 SQL 運算式進行解碼和儲存的方式不同於 SQL Server 2000。解碼後的運算式的語義等同於原始文本,但是沒有文法保證。例如,已解碼的運算式中刪除了空格。 |
if exists (select * from dbo.syscomments where id=object_id(N'[dbo].[P_XXXXX]'))
select c.text as sql語句, c.encrypted, convert(nchar(2), o.xtype) as 類型, datalength(c.text) as 長度 from dbo.syscomments c, dbo.sysobjects o where o.id = c.id and c.id = object_id(N'[dbo].[P_綜合退費_合約號帶值2]') order by c.number, c.colid option(robust plan)