Mam wymóg uzyskania wszystkich nazw tabel bazy danych, które są używane w określonej procedurze przechowywanej?Jak uzyskać nazwy wszystkich tabel, które są używane w konkretnej procedurze przechowywanej?
Jako przykład, Mam jedną procedurę przechowywaną, jak podano poniżej.
CREATE PROCEDURE [dbo].[my_sp_Name]
@ID INT = NULL
AS
BEGIN
SELECT ID, NAME, PRICE
FROM tbl1
INNER JOIN tbl2 ON tbl1.ProductId = tbl2.ProductId
LEFT JOIN tbl3 ON tbl2.ProductSalesDate = tbl3.ProductSalesDate
LEFT JOIN tbl4 ON tbl1.ProductCode = tbl4.ItemCode
END
oczekiwany wynik:
Used_Table_Name
- TBL1
- TBL2
- tbl3
- tbl4
Czy ktoś może sugerować sposób?
'exec sp_depends [ProcedureName]' – artm
@artm, dzięki za komentarz, jej zwrotu wszystkich rodzajów obiektów bazy danych, które są używane. Również nie zwraca wyraźnej wartości. –
[Odpowiedź Mansoor] (http://stackoverflow.com/a/43177867/15498) byłby lepszym wyborem, ponieważ nie używa [* starszych widoków *] (https://technet.microsoft.com/en- us/library/ms190325 (v = sql.110) .aspx), którego nie powinno się używać w żadnym nowo napisanym kodzie –