Home Page for the TeradataForum

Archives of the TeradataForum

Message Posted: Wed, 14 Aug 2002 @ 14:55:58 GMT

  <Prev Next>   <<First <Prev Next> Last>>  

Subj:   Re: Prepare SQL in stored procedures
From:   Geoffrey Rommel

  I would like to know if it is possible to prepare an sql statement within a stored procedure.  

According to the manuals, PREPARE is available only in embedded SQL. The following syntax compiles correctly:

Create Procedure mfrtest(simno char(10))
declare my_query varchar(500);
set my_query = 'Select sim_mfr_no from valid_mfr where sim_mfr_no = '''
|| simno || '''';
call DBC.SysExecSQL (:my_query);

When I try to run it, however, I get this error:

*** Failure 5568 mfrtest:SQL statement is not supported within a stored procedure.

I believe this is because stored procedures cannot return result sets; they can only return a single row of values.

If your procedure is fairly simple and you need a result set, you should probably use a macro instead:

Create Macro mfrtest(simno char(10))
(Select sim_mfr_no
from valid_mfr
where sim_mfr_no = :simno;

  <Prev Next>   <<First <Prev Next> Last>>  
  Top Home Privacy Feedback  
Copyright for the TeradataForum (TDATA-L), Manta BlueSky    
Copyright 2016 - All Rights Reserved    
Last Modified: 15 Jun 2023