Sybase

表中的 sp_depends 輸出

  • August 25, 2020

我需要sp_depends在 Sybase 上執行多個儲存過程以獲取依賴關係。由於我有很多儲存過程,我想知道是否有任何方法可以強制sp_depends輸出到臨時表中,然後從中選擇所有依賴對象。如果可能的話,我可以sp_depends從一個儲存過程中執行多個儲存過程,並一次性獲得結果集。

我在下面嘗試但沒有任何運氣(使用 Toad):

Insert #test_tbl
exec sp_depends sp_proc

上面給出的錯誤為:

“關鍵字 ’exec’ 附近的語法不正確”

請告知是否有任何其他有效的方法可以做到這一點。我的目標是獲取所有依賴項進行分析。

更新:我確實有辦法在 excel 中生成大量“sp_depends”。尋找可以一次性執行它們並獲得所提供對象的全部輸出的東西。另外,由於這是 Sybase 實用程序,不幸的是我沒有辦法編輯它

像這樣的腳本可以幫助您:

isql -Usa -S${ASE_Servername} <<EOF
$password

set nocount on
go
select 'sp_depends '+name from <dbname>..sysobjects
where type='P' and name in ( <list_of_SPs> )
go

EOF

不幸的是,T-SQL 的 Sybase 版本不支持INSERT INTO ... EXEC語法。似乎沒有辦法直接在 T-SQL 中執行此操作;你需要為它寫一個腳本。

話雖如此,您也許可以使用此 StackOverflow 答案中顯示的程式碼

引用自:https://dba.stackexchange.com/questions/159987