List:MaxDB« Previous MessageNext Message »
From:Thomas Anhaus Date:April 7 2003 6:49am
Subject:RE:Union in dbproc
View as plain text  
>I have a stored procedure with a union in it that is returning an error:

>Microsoft OLE DB Provider for ODBC Drivers error '80004005'
>[SAP AG][SQLOD32 DLL][SAP DB]General error;-4024.

>However, SQL runs fine in SQL Studio. I'm running 7.3.0.29 and the 7.3 ODBC
>driver on Windows 2000. Any suggestions? The dbproc (stripped down to
>minimum fields; parameters aren't used in this section of the dbproc) is
>below:

>CREATE DBPROC spCalendarGetList (
>	IN hint int,
>	IN selDate date,
>	IN fkGeneral int
>) RETURNS CURSOR AS
>
>	DECLARE :$CURSOR CURSOR FOR
>	SELECT
>		tblCalendar.pkCalendar,
>		tblCalendar.Headline
>	FROM
>		Brian.tblCalendarDtl
>	INNER JOIN
>		Brian.tblCalendar on tblCalendarDtl.fkCalendar = tblCalendar.pkCalendar
>	INNER JOIN
>		Brian.tblUser ON tblCalendar.fkUser = tblUser.pkUser
>	INNER JOIN
>		Brian.tblEventType ON tblCalendar.fkEventType = tblEventType.pkEventType
>	WHERE
>		tblCalendar.isApproved = true AND
>		DATE <= tblCalendarDtl.EventDate AND
>		DATEDIFF( DATE, tblCalendarDtl.EventDate ) < 7
>
>	UNION
>
>	SELECT
>		tblCalendar.pkCalendar,
>		tblCalendar.Headline
>	FROM
>		Brian.tblCalendarDtl
>	INNER JOIN
>		Brian.tblCalendar on tblCalendarDtl.fkCalendar = tblCalendar.pkCalendar
>	INNER JOIN
>		Brian.tblUser ON tblCalendar.fkUser = tblUser.pkUser
>	INNER JOIN
>		Brian.tblEventType ON tblCalendar.fkEventType = tblEventType.pkEventType
>	WHERE
>		tblCalendar.isApproved = true AND
>		UPPER( tblEventType.EventType ) = 'DEADLINE' AND
>		DATE <= tblCalendarDtl.EventDate AND
>		DATEDIFF( DATE, tblCalendarDtl.EventDate ) < 30;
>

This is a known bug which occurs when using the $cursor variable in combination with a
union select.
The fix will be available with 7.3.0.35 / 7.4.3.19. 
As far as I remember as a workaround you could try to substitute 
the variable by a constant, for example :

$CURSOR = 'MYCURSOR';
DECLARE MYCURSOR CURSOR FOR SELECT ... 

Regards,
Thomas
 
-- 
Thomas Anhaus
SAP DB, SAP Labs Berlin
thomas.anhaus@stripped
http://www.sapdb.org/
_______________________________________________
sapdb.general mailing list
sapdb.general@stripped
http://listserv.sap.com/mailman/listinfo/sapdb.general



Thread
Union in dbprocBrian Kavanaugh6 Apr
  • Re: Union in dbproc(Peter Willadt)6 Apr
    • RE: Union in dbprocBrian Kavanaugh6 Apr
RE:Union in dbprocThomas Anhaus7 Apr
  • Unknown Result TableBrian Kavanaugh12 Apr
re: Unknown Result TableBrian Kavanaugh13 Apr
Re: Unknown Result TableMarcin P14 Apr