2015-11-05 3 views
2

Я просто пытаюсь использовать переменные Bind. Но застрял на этом куске. Не удалось скомпилировать его: -Работа с переменными связывания оракула

VARIABLE b_basic_percent NUMBER 
    VARIABLE b_pf_percent NUMBER 

DECLARE 
    v_today DATE:=SYSDATE;   
    v_tomorrow v_today%TYPE; 

BEGIN 
    v_tomorrow:=v_today +1; 
    :b_basic_percent:=45; 
    :b_pf_percent:=12; 
    DBMS_OUTPUT.PUT_LINE(' Hello World '); 
    DBMS_OUTPUT.PUT_LINE('TODAY IS : '|| v_today); 
    DBMS_OUTPUT.PUT_LINE('TOMORROW IS : ' || v_tomorrow); 

    PRINT b_basic_percent 
    PRINT b_pf_percent 

END; 

Может кто-нибудь, пожалуйста, помогите мне понять, в чем я ошибаюсь?

ответ

0

PRINT - это команда SQL * Plus, а не команда PL/SQL. Таким образом, он должен прийти после/SQL блок PL (во многом таким же образом, как и VARIABLE произошло перед блоком), например так:

variable b_basic_percent number 
variable b_pf_percent number 

declare 
    v_today date:=sysdate;   
    v_tomorrow v_today%type; 

begin 
    v_tomorrow := v_today + 1; 
    :b_basic_percent := 45; 
    :b_pf_percent := 12; 
    dbms_output.put_line(' Hello World '); 
    dbms_output.put_line('TODAY IS : '|| to_char(v_today, 'dd Mon yyyy')); 
    dbms_output.put_line('TOMORROW IS : ' || to_char(v_tomorrow, 'dd Mon yyyy')); 

end; 
/

print b_basic_percent 
print b_pf_percent 


Hello World 
TODAY IS : 05 Nov 2015 
TOMORROW IS : 06 Nov 2015 

b_basic_percent 
--------------- 
      45 

b_pf_percent 
------------ 
      12 
+0

#Boneist: - Спасибо! Он работал, а также для обмена информацией. – newbee

Смежные вопросы