Ik ben bezig met een query die binnen een sp dynamich wordt opgebouwd. Ik heb de query wat vereenvoudigd om deuitleg te vergemakkelijken. Het gaat hier om MSSQL 2000 SP4.
Als ik dat uitvoer krijg ik:
De bedoeling is op het resultaat van de count(*) in @i te krijgen maar dat kan kennelijk niet op deze manier. Als ik de code iets verander dan krijg ik de fout dat @i niet bestaat. kennelijk wordt een exec als een opzich staand deel uitgevoerd - hoe krijg ik bovenstaande count(*) nu in @i ?? Het is essentieel voor de verdere afhandeling dat dit werkt.
Kan dit uberhaupt gaan werken ?
SQL:
1
2
3
4
| declare @i int declare @q varchar(4000) set @q = '(select count(*) from tblUserProfiles where .......)' set @i = exec (@q) |
Als ik dat uitvoer krijg ik:
code:
1
2
| Server: Msg 156, Level 15, State 1, Line 4 Incorrect syntax near the keyword 'exec'. |
De bedoeling is op het resultaat van de count(*) in @i te krijgen maar dat kan kennelijk niet op deze manier. Als ik de code iets verander dan krijg ik de fout dat @i niet bestaat. kennelijk wordt een exec als een opzich staand deel uitgevoerd - hoe krijg ik bovenstaande count(*) nu in @i ?? Het is essentieel voor de verdere afhandeling dat dit werkt.
SQL:
1
2
3
4
| declare @i int declare @q varchar(4000) set @q = '(select @i=count(*) from tblUserProfiles where .......)' exec (@q) |
Kan dit uberhaupt gaan werken ?
[ Voor 4% gewijzigd door shades op 05-03-2007 15:45 ]