91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

獲取創建SQL Server對象的定義文本

發布時間:2020-06-29 04:03:20 來源:網絡 閱讀:1096 作者:UltraSQL 欄目:數據庫

引用自《SQL Server 2012 Internals》

“  
As views, these metadata objects are based on an underlying Transact-SQL (T-SQL) defnition. The most straightforward way to see the defnition of these views is by using the object_defnition function. (You can also see the defnition of these system views by using sp_helptext or by selecting from the catalog view sys.system_sql_modules.) So to see the defnition of sys.tables, you can execute the following:

SELECT object_definition (object_id('sys.tables'));  

 

方法一:

OBJECT_DEFINITION

返回指定對象的定義的 Transact-SQL 源文本。

SELECT object_definition (object_id('sys.tables'));

https://msdn.microsoft.com/zh-cn/library/ms176090.aspx

 

方法二:

sp_helptext

顯示用戶定義規則的定義、默認值、未加密的 Transact-SQL 存儲過程、用戶定義 Transact-SQL 函數、觸發器、計算列、CHECK 約束、視圖或系統對象(如系統存儲過程)。

EXEC sp_helptext 'sys.tables';  
GO

https://msdn.microsoft.com/zh-cn/library/ms176112.aspx

 

方法三:

sys.system_sql_modules

為每個包含 SQL 語言定義模塊的系統對象返回一行。 類型為 FN、IF、P、PC、TF 和 V 的系統對象具有關聯的 SQL 模塊。 若要標識該包含對象,可以將該視圖聯接到 sys.system_objects。

SELECT ssm.object_id,    
    OBJECT_NAME(ssm.object_id) AS object_name,     
    SCHEMA_NAME(t.schema_id) AS schema_name,     
    t.type,     
    t.type_desc,     
    ssm.definition    
FROM sys.system_sql_modules ssm    
    INNER JOIN sys.system_objects t ON ssm.object_id = t.object_id    
WHERE t.type='P'    
GO

https://msdn.microsoft.com/zh-cn/library/ms188034.aspx


示例:  

select object_name(m.object_id) as name, * 
from sys.system_sql_modules m    
inner join sys.system_objects t on m.object_id=t.object_id    
where type='P' and name='sp_renamedb'

select object_name(m.object_id) as name, * 
from sys.system_sql_modules m   
inner join sys.system_objects t on m.object_id=t.object_id    
where type='V' and name='systypes'


sys.sql_modules

對每個 SQL 語言定義的模塊對象都返回一行。類型為 P、RF、V、TR、FN、IF、TF 和 R 的對象均有關聯的 SQL 模塊。在此視圖中,獨立的默認值,即 D 類型的對象也具有 SQL 模塊定義。有關這些類型的說明,請參閱 sys.objects 目錄視圖中的類型列。

SELECT sm.object_id,    
    OBJECT_NAME(sm.object_id) AS object_name,     
    SCHEMA_NAME(o.schema_id) AS schema_name,     
    o.type,     
    o.type_desc,     
    sm.definition    
FROM sys.sql_modules AS sm    
    INNER JOIN sys.objects AS o ON sm.object_id = o.object_id    
ORDER BY o.type;    
GO

https://technet.microsoft.com/zh-cn/library/ms175081.aspx


示例:  

SELECT OBJECT_NAME(object_id)    
    FROM sys.sql_modules    
    WHERE OBJECTPROPERTY(object_id, 'IsProcedure') = 1    
    AND definition LIKE '%yourText%'


sys.all_sql_modules

返回 sys.sql_modules 和 sys.system_sql_modules 的聯合。


https://msdn.microsoft.com/zh-cn/library/ms184389.aspx

 

方法四:

INFORMATION_SCHEMA

信息架構視圖是 SQL Server 提供的幾種獲取元數據的方法之一。 信息架構視圖提供獨立于系統表的內部 SQL Server 元數據視圖。 盡管已經對基礎系統表進行了重要的修改,信息架構視圖仍然可使應用程序正常工作。 SQL Server 中包含的信息架構視圖符合 ISO 標準中的信息架構定義。


在引用當前服務器時,SQL Server 支持三部分命名約定。 ISO 標準也支持三部分命名約定。 但是,兩種命名約定中使用的名稱并不相同。 信息架構視圖是在名為 INFORMATION_SCHEMA 的特殊架構中定義的。 此架構包含在每個數據庫中。 每個信息架構視圖包含特定數據庫中存儲的所有數據對象的元數據。


下表顯示了 SQL Server 名稱和 SQL 標準名稱之間的關系。

SQL Server 名稱

對應的 SQL 標準等價名稱

數據庫

目錄

架構

架構

Object

Object

用戶定義數據類型


引用信息架構視圖時,必須使用包含 INFORMATION_SCHEMA 架構名稱的限定名。

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT
FROM AdventureWorks2014.INFORMATION_SCHEMA.COLUMNS    
WHERE TABLE_NAME = N'Product';    
GO

https://msdn.microsoft.com/zh-cn/library/ms186778.aspx


INFORMATION_SCHEMA.ROUTINES

為當前數據庫中可由當前用戶訪問的每個存儲過程及函數返回一行。 描述返回值的列只適用于函數。 對于存儲過程,這些列將為 NULL。


若要從這些視圖中檢索信息,請指定 INFORMATION_SCHEMA.view_name 的完全限定名稱。


ROUTINE_DEFINITION

nvarchar(4000) 
列包含創建函數或存儲過程的源語句。 這些源語句有可能包含嵌入式回車符。 如果將此列返回給某個以文本格式顯示結果的應用程序,則 ROUTINE_DEFINITION 結果中的嵌入式回車符可能會影響整個結果集的格式。 如果選擇 ROUTINE_DEFINITION 列,則必須對嵌入式回車符進行調整,例如,可將結果集返回到一個網格中或者將 ROUTINE_DEFINITION 返回到其自己的文本框中。

如果函數或存儲過程未加密,返回函數或存儲過程的定義文本最前面的 4000 字符。 否則,返回 NULL。

若要確保獲得完整定義,請查詢 OBJECT_DEFINITION 函數或 sys.sql_modules 目錄視圖中的 definition 列。


SELECT   
SPECIFIC_CATALOG,SPECIFIC_SCHEMA,SPECIFIC_NAME,ROUTINE_TYPE    
FROM INFORMATION_SCHEMA.ROUTINES    
WHERE ROUTINE_DEFINITION LIKE '%yourText%';

https://msdn.microsoft.com/zh-cn/library/ms188757.aspx


引用自《SQL Server 2012 Internals》


Information schema views
Information schema views, introduced in SQL Server 7.0, were the original system table-independent view of the SQL Server metadata. The information schema views included in SQL Server 2012 comply with the SQL-92 standard, and all these views are in a schema called INFORMATION_SCHEMA. Some information available through the catalog views is available through the information schema views, and if you need to write a portable application that accesses the metadata, you should consider using these objects. However, the information schema views show only objects compatible with the SQL-92 standard. This means no information schema view exists for certain features, such as indexes, which aren’t defned in the standard. (Indexes are an implementation detail.) If your code doesn’t need to
be strictly portable, or if you need metadata about nonstandard features such as indexes, flegroups, the CLR, and SQL Server Service Broker, using the Microsoft-supplied catalog views is suggested. Most examples in the documentation, as well as in this and other reference books, are based on the catalog view interface.


MySQL中的 INFORMATION_SCHEMA Tables

INFORMATION_SCHEMA provides access to database metadata, information about the MySQL server such as the name of a database or table, the data type of a column, or access privileges. Other terms that are sometimes used for this information are data dictionary and system catalog.


http://dev.mysql.com/doc/refman/5.7/en/information-schema.html


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台湾省| 昆山市| 大石桥市| 遂溪县| 榕江县| 三原县| 清涧县| 江达县| 南部县| 卫辉市| 容城县| 沙坪坝区| 莆田市| 大荔县| 巨野县| 湟源县| 盐源县| 宜黄县| 延长县| 秦皇岛市| 罗平县| 宝鸡市| 湟中县| 岢岚县| 虹口区| 巫溪县| 丹棱县| 全州县| 昭通市| 宜城市| 商水县| 枞阳县| 庆元县| 花莲市| 体育| 乐至县| 扶沟县| 马边| 宝兴县| 大洼县| 荔波县|