Kui süsteemis on kasutusel meetod, kus mingi asja käitumine sõltub näiteks UDF funkstiooni parameetri väärtusest ja nüüd vaja teada
saada, kuidasmoodi see parameeter on seatud saab kasutada sellist
Funktsiooni päis ise, mille parameetrit teada tahame
ALTER FUNCTION [dbo].[VIITENUMBER]( @lepingu_nr INT, @arvenumber BIGINT, @meetod TINYINT=0 )
RETURNS NVARCHAR(30)
AS
...
ja siin @meetod TINYINT=0 vaikeväärtus määrab ära, kuidas süsteem peab käituma
siis selle väärtuse teadasaamiseks võib kasutada lähenemist, kus otsime funktsioon teksti sisust
DECLARE @t VARCHAR(8000), @Re INT
--leiame funktsiooni VIITENUMBER
SET @Re = ( SELECT TOP 1 ID FROM sys.sysobjects WHERE name = 'VIITENUMBER' AND XTYPE ='FN' )
--leiame tema sisu kirjelduse alguse
SET @t = ( SELECT LEFT(TEXT,8000) FROM sys.syscomments WHERE ID = @Re )
--otsime tema teksti kirjeldusest viitenumbri meetodi parameetri kohta
SET @Re=CHARINDEX('@meetod TINYINT=',@t)
--võtame antud kohast 3 tükki ja kuna on funktsiooni viimane parameeter siis lõpust ) eemaldame
SET @t = (SELECT REPLACE(SUBSTRING(@t,@Re+16,3),')','') )
ja @t väärtus peaks olema antud juhul '0', mida otsisimegi