Bind variable einsetzen in Statement

Hallo,

ich versuche mir einen Statement in einer Declare zusammenzubasteln (siehe unten), leider funktioniert das ganze nicht so.
Ziele wäre es diesen Statement zusammenzubekommen:
select TRUNC(SYSDATE)+1+2/24 from dual

Hat jemand ne Idee, wie ich das realisieren kann?

Vielen Dank für eure Mühen


DECLARE
TESTSTRING VARCHAR2(50):= ‚TRUNC(SYSDATE)+1+2/24‘ ;

BEGIN
select :TESTSTRING from dual;
END ;

Error:
SP2-0552: Bindevariable „TESTSTRING“ nicht deklariert.


DECLARE
TESTSTRING VARCHAR2(50):= ‚TRUNC(SYSDATE)+1+2/24‘ ;

BEGIN
select :TESTSTRING from dual;
END ;

Error:
SP2-0552: Bindevariable „TESTSTRING“ nicht deklariert.

Ich bin nicht ganz sicher, ob ich kapiert habe, wo dein Problem liegt :smile:, aber probiers mal so :

declare myCursor sys_refcursor;
s_SQLString varchar2(200);
BEGIN
s_SQLString:=‚SELECT TRUNC(SYSDATE)+1+2/24 FROM DUAL‘;
open myCursor for s_SQLString;
END;

Gruss

Hallo Andy (?),

so etwa?

Verbunden mit: 
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
With the Partitioning option
JServer Release 8.1.7.4.0 - Production

SQL\> var a varchar2(50);
SQL\> begin
 2 select to\_char(sysdate,'day month year') into :a from dual;
 3 end;
 4 /

PL/SQL-Prozedur wurde erfolgreich abgeschlossen.

SQL\> print a;

A
----------------------------------------------------------------
freitag juli two thousand six

hth,
Guido