3
我試圖通過查詢系統表來提取存儲過程DDL。
如果我運行從dbc.tvm以下查詢如何提取Teradata中的存儲過程主體
選擇*其中TableKind = 'P'
兩個領域RequestText和CreateText包含NULL。 除了使用SHOW PROCEDURE之外,還有什麼方法可以查詢存儲過程體嗎?
謝謝。
我試圖通過查詢系統表來提取存儲過程DDL。
如果我運行從dbc.tvm以下查詢如何提取Teradata中的存儲過程主體
選擇*其中TableKind = 'P'
兩個領域RequestText和CreateText包含NULL。 除了使用SHOW PROCEDURE之外,還有什麼方法可以查詢存儲過程體嗎?
謝謝。
存儲過程的DDL(SPL)未存儲在數據字典表中。如果您不將DDL保留在版本控制的存儲庫中,則需要在BTEQ腳本中編寫SHOW PROCEDURE命令的腳本,並將它們導出到平面文件。如果您對數據字典的查詢具有創造性,則可以動態生成此BTEQ腳本。
Rob,非常感謝您的回答。現在程序的情況很明顯。它看起來像觸發器組織有點不同,因爲DBC.triggersTbl系統表的CreateText列包含DDL。 – MaterialGirl
@Rob但實際上保存的定義在哪裏? – Ali
它存儲在「SP」表的特殊行中。嘗試在SHOW PROCEDURE命令上執行EXPLAIN。 –