Hallo ik heb de volgende stored procedure (sql2000)
Wat moet het doen:
Ik geen een id op, in regel 11 wordt gekeken of het opgegeven id groter is dan 0, indien dit nul (0) of kleiner dan wordt de sp verlaten en blijft de recordset dus leeg.
Daarna wordt in regl 14 gekeken van welke tabel er gegevens moeten worden gehaald. Dit is een doodnormale qry en indien block_id bestaat wordt @blcok_table gevult maar als die niet bestand dan is deze '' (leeg - althans, dat denk ik). Nu check is daar dus op maar als het block_id niet bestaat en @block_table leeg blijft krijg ik de volgende fout:
In sql200 qry-analyzer:
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'as'.
Runtime in vb6:
Run-time error '-2147217900 (80040e14)'
Incorrect syntax near the keyword 'as' (vlakbij regel 5)
Ik heb geen idee wat ik fout doe..
Kan iemand met meer verstand van sql hier misschien een licht op werpen ? Zolang block_id bestaat gaat het dus goed.. (excusses voor vergalde lay-out)
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| CREATE PROCEDURE [dbo].[homepage_fetch_block_content] @block_id int AS declare @block_table varchar(50) declare @block_id_field varchar(15) declare @block_name_field varchar(20) if @block_id > 0 begin set @block_table = (select [block_table] from homepage_blocks where block_id = @block_id) if @block_table <> '' begin set @block_id_field = (select [block_id_field] from homepage_blocks where block_id = @block_id) set @block_name_field = (select [block_name_field] from homepage_blocks where block_id = @block_id) exec ('select b.block_id, ' + @block_id_field + ' as name_id,' + @block_name_field + --> <-- ' as name from homepage_blocks as b, ' + @block_table + ' where block_id = ' + @block_id) end else begin return end end else begin return end GO |
Wat moet het doen:
Ik geen een id op, in regel 11 wordt gekeken of het opgegeven id groter is dan 0, indien dit nul (0) of kleiner dan wordt de sp verlaten en blijft de recordset dus leeg.
Daarna wordt in regl 14 gekeken van welke tabel er gegevens moeten worden gehaald. Dit is een doodnormale qry en indien block_id bestaat wordt @blcok_table gevult maar als die niet bestand dan is deze '' (leeg - althans, dat denk ik). Nu check is daar dus op maar als het block_id niet bestaat en @block_table leeg blijft krijg ik de volgende fout:
In sql200 qry-analyzer:
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'as'.
Runtime in vb6:
Run-time error '-2147217900 (80040e14)'
Incorrect syntax near the keyword 'as' (vlakbij regel 5)
Ik heb geen idee wat ik fout doe..
Kan iemand met meer verstand van sql hier misschien een licht op werpen ? Zolang block_id bestaat gaat het dus goed.. (excusses voor vergalde lay-out)
[ Voor 9% gewijzigd door shades op 09-12-2003 22:30 ]