2011-04-19 3 views

답변

3

이후이 블록이 실행 된 경우 어떻게 할 것이 무엇 호출자에게 데이터를 반환 할 수없는 익명 블록? 호출자에게 커서를 반환 할 수 없으므로 데이터를 로컬 변수로 선택하지 않으면 어떤 일이 일어나길 원하는지 확신 할 수 없습니다.

은 잠재적으로, 당신은 단지는 SQL * 플러스 스크립트, 즉 원하는

SQL> variable week number; 
SQL> exec :week := 6; 

PL/SQL procedure successfully completed. 

SQL> ed 
Wrote file afiedt.buf 

    1* select empno, hiredate+:week from emp 
SQL>/

    EMPNO HIREDATE+ 
---------- --------- 
     7369 23-DEC-80 
     7499 26-FEB-81 
     7521 28-FEB-81 
     7566 08-APR-81 
     7654 04-OCT-81 
     7698 07-MAY-81 
     7782 15-JUN-81 
     7788 25-APR-87 
     7839 23-NOV-81 
     7844 14-SEP-81 
     7876 29-MAY-87 

    EMPNO HIREDATE+ 
---------- --------- 
     7900 09-DEC-81 
     7902 09-DEC-81 
     7934 29-JAN-82 
     1234 

15 rows selected. 
+0

의 SQL 네비게이터 나에게 – SouravM

+0

@SouravM을 스크립트를 제공하십시오 - 수행 es SQL Navigator는 SQL * Plus 대체 변수 구문을 지원합니까? 그렇지 않다면 자체 구문을 가지고 있습니까? 많은 GUI가 적어도 SQL * Plus 구문의 일부를 지원합니다. –

0

그것은 오라클은 사용하지 않고 select 문을 허용하지 않기 때문에 INTO
를 사용하지 않고 오라클 PL-SQL 블록에서 사용을 선택하는 것은 불가능하다 into 문 지금의 후 수정하여 블록은 다음과 같이 될 것이다 :

Declare 
    week number :=6; 
    Column1 table.col1%type; 
    Column2 table.col2%type; 
Begin 
    select col1,col2+week into Column1, Column2 from table; 
end;