ZAPYTANIE sys.sql_modules
użyć tej procedury, gdzie przechodzą w nazwie funkcji:
CREATE PROCEDURE dbo.Find_Text
@SearchValue nvarchar(500)
AS
SELECT DISTINCT
s.name+'.'+o.name AS Object_Name,o.type_desc
FROM sys.sql_modules m
INNER JOIN sys.objects o ON m.object_id=o.object_id
INNER JOIN sys.schemas s ON o.schema_id=s.schema_id
WHERE m.definition Like '%'[email protected]+'%'
--AND o.Type='P' --<uncomment if you only want to search procedures
ORDER BY 1
GO
Ta procedura wyszukiwania w obrębie procedur, widoków i funkcji dla danego łańcucha. Możesz wyszukać dowolny ciąg znaków, a nie tylko nazwy funkcji. Możesz również umieścić symbole wieloznaczne w środku wyszukiwanego hasła.
FUNKCJE DEFAULTS
można określić wartości domyślne dla parametrów funkcji. Jednakże, gdy parametr funkcji ma wartość domyślną, słowo kluczowe DEFAULT musi zostać określone, gdy funkcja ma odzyskać wartość domyślną. To zachowanie różni się od używania parametrów z wartościami domyślnymi w procedurach składowanych, w których pominięcie parametru powoduje również domyślną wartość.
go wypróbować:
CREATE FUNCTION dbo.Just_Testing
(
@Param1 int
,@Param2 int=0
)
RETURNS varchar(100)
BEGIN
RETURN CONVERT(varchar(10),@Param1)+'-'+CONVERT(varchar(10),@Param2)
END
GO
PRINT 'hello world '+dbo.Just_Testing(2,default)+', '+dbo.Just_Testing(5,2)
GO
PRINT 'hello world '+dbo.Just_Testing(2 )+', '+dbo.Just_Testing(5,2)
WYJŚCIE:
hello world 2-0, 5-2
Msg 313, Level 16, State 2, Line 1
An insufficient number of arguments were supplied for the procedure or function dbo.Just_Testing.
Ale zgaduję, że trzeba zmienić funkcję, dodając jako parametr, a teraz trzeba go naprawić wszędzie. Ta DEFAULT
nadal będzie wymagała tyle pracy, ponieważ musisz dotknąć każdego wykonanego połączenia.
SP_DEPENDS
można również użyć sp_depends (Transact-SQL) znaleźć każde użycie tej funkcji.
Chyba słyszeliście podobny sposób robienia tego, ale nie wiem, jak generować skrypty dla wszystkich proców za jednym razem. Czy możesz pomóc. W każdym razie, proszę o szybką odpowiedź. –
Dlaczego wypełniasz wszystkie procedury w pliku, jeśli możesz wyszukiwać w swoich procedurach przechowywanych w db z SP dodanym do mojej odpowiedzi? – hgulyan