Strona 1 z 1

Jak przekazać wartość tekstową jako parametr do procedury?

: 24 kwie 2013, 12:45
autor: xilo
Witam.

Potrzebuję przekazać do procedury parametr z listy towarów - wszystko byłoby ładnie, gdyby chodziło o liczbę, ale w przypadku tekstu wykonanie wygląda to tak:

Wywołanie:

Kod: Zaznacz cały

@ParametrDoProcedury='{FiltrSQL}'
Wywołanie procedury w efekcie będzie miało postać:

Kod: Zaznacz cały

Exec nazwaprocedury 'Where Twr_Kod like 'TOWA%' '
A żeby działało muszę mieć:

Kod: Zaznacz cały

Exec nazwaprocedury 'Where Twr_Kod like ''Towa%'' ' 
- w takim wydaniu działa.

Niestety nie mogę zastosować funkcji REPLACE z poziomu XL - jest inna prosta metoda?

Pozdrawiam

Re: Jak przekazać wartość tekstową jako parametr do procedur

: 24 kwie 2013, 16:23
autor: JakubK
Witam

Zrób w procedurze coś takiego

Kod: Zaznacz cały


declare @sqlTekst nvarchar(max)
declare @sqlWher nvarchar(max)
set @sqlWher=' Where Twr_Kod like 'TOWA%' ';
set @sqlTekst='select * from cdn.twrkarty '+@sqlWher;

execute sp_executesql @sqlTekst ;


Re: Jak przekazać wartość tekstową jako parametr do procedur

: 24 kwie 2013, 22:55
autor: wacek
{FiltrSQL} nie zwraca Where....... tylko Twr_Kod LIKE 'ABC%' lub Twr_Typ<>3 AND Twr_Typ<>2 AND Twr_Archiwalny=0 lub 1=1.
Generalnie nie zaczyna się od "Where"

Co chcesz przekazać do procedury?