Peter H�bschen wrote : >Hello,
>encouraged through >http://listserv.sap.com/pipermail/sapdb.general/2003-April/014359.html >I tried to create a dbproc with a concatenated SQL-statement to get back a >result-table. But somehow I didn't managed to get it work. I tried something >like this: >Create dbproc foo(In myvar1 smallint, in myvar2 varchar(3)) >Returns Cursor as >Var > SQLString Varchar(100); >$Cursor = 'foo_Cursor': >Begin > SQLString = 'Select * from mytable where ' > If myvar1 > 0 Then SQLString = SQLString || ' compvar1 = ' || myvar1; > If myvar2 <> '' Then SQLString = SQLString || 'compvar2 = ''' || myvar2; > >Declare :$Cursor Cursor for >Execute SQLString; >End; >In this case I get a 'Missing keyword Select' - Error at the >execute-command. It's obvious why, but I want to know if it's possible to >get a result-table back through a dbproc or something else, where the >SQL-Statement is dynamically build. >My DB-version is 7.4.3.30 on a Linux-Box >Thanks in advance >Peter This syntax is slightly different but the following should work : Create dbproc foo(In myvar1 smallint, in myvar2 varchar(3)) Returns Cursor as Var SQLString Varchar(120); $Cursor = 'foo_Cursor'; SQLString = 'DECLARE ' || $Cursor || ' Select * from mytable where ' if myvar1 > 0 Then SQLString = SQLString || ' compvar1 = ' || myvar1; If myvar2 <> '' Then SQLString = SQLString || 'compvar2 = ''' || myvar2; Execute SQLString; Best Regards, Thomas -- Thomas Anhaus SAP DB, SAP Labs Berlin [EMAIL PROTECTED] http://www.sapdb.org/ _______________________________________________ sapdb.general mailing list [EMAIL PROTECTED] http://listserv.sap.com/mailman/listinfo/sapdb.general -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
