2016-12-30 73 views
-2

我想檢查它被調用的一個過程嗎? 他有什麼辦法嗎?我可以爲db2中的過程生成DDL嗎?

我試圖使用db2look生成,但它沒有工作。

+0

M Gade, 我不能完全說出你在問什麼。你在哪個平臺/版本上? (例如,ISeries,Linux等)。你想確定什麼程序調用存儲過程,或者你知道存儲過程的名稱,並試圖查看它的文本嗎? – plditallo

+0

我正在使用Linux。我創建了一個名爲SASDBADF.ADFQ_11111_SENSITIVE_PARTA_R032的程序,現在我正在嘗試找到它被調用的地方?有什麼方法可以找到? –

+0

基本上我聽到的是,如果這個過程被另一個存儲過程或可執行文件調用,您不確定。首先查看SYSCAT.ROUTINEDEP和SYSCAT.ROUTINES等值線,然後從db2開始。你正在尋找依賴關係。查找您的存儲過程使用的表名(它)可能有助於觸發其他熟悉的過程連接到它。 – plditallo

回答

0

您可以使用sqlpltrc和SQL分析器實用程序。關於這方面的文章很少,但他們可以幫助您的程序堆棧調用。

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/tracing?lang=en http://angocadb2.blogspot.com.co/2014/02/tracing-log4db2-with-sqlpltrc.html

另一種方式到,在SYSCAT.PROCEDURES視圖的文本列一下,找你的程序的名字。但是,如果存在動態SQL,這最終可能無濟於事。另外,如果任何函數或觸發器調用了SP,則需要在相應的表中查找該名稱。

相關問題