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

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

xilo
Posty: 53
Rejestracja: 07 lip 2008, 12:09
Rola: Administrator CDN XL
Lokalizacja: Bielsko-Biała

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

Post 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

JakubK
Posty: 76
Rejestracja: 09 lis 2009, 12:22
Rola: Administrator CDN XL

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

Post 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 ;


Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

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

Post 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?
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

ODPOWIEDZ