2011-06-20 60 views
0

位於數據庫中的SQL信息(如SQL語句和存儲過程)在哪裏?我如何將它們存儲在單獨的數據庫中?訪問數據庫中的SQL語句和存儲過程的最佳方式

+0

我不認爲這是可能的。你爲什麼要將這些程序存儲在不同的數據庫中?你指的是什麼SQL語句? – DaveShaw

+0

原來,可以通過提取數據庫元信息的系統存儲過程(包括用戶創建的存儲過程信息)訪問此信息。在SQL Server中,有兩種方法可以通過查詢信息模式表或使用sp_helptext系統存儲過程來完成此操作。 – Kira

回答

1

對於MS SQL 2008存儲過程都存儲下:

  • 數據庫名
    • 可編程
      • 存儲過程
0

邏輯上(和一般而言)數據庫中的所有這些'元數據'在結構上都與用戶數據一樣;該系統簡單地維護專用於系統級數據的一個或多個模式。

數據庫的物理組織非常特定於供應商,例如Oracle 10g數據庫將以特定的方式組織磁盤上的數據。對於這種情況,如果您注意到您正在使用哪種數據庫產品,則更有可能得到具體的反饋。

1

您可以閱讀使用系統存儲過程sp_helptext的SQL語句:

declare @t table (RowNumber int identity(1,1), Line nvarchar(4000)); 

insert @t (Line) exec sp_helptext 'sp_helptext'; 

select * from @t order by RowNumber; 

還是看sp_helptext的是如何做到這一點。

0

您可以使用information_schema視圖。

select routine_name, routine_definition from INFORMATION_SCHEMA.routines 
相關問題