2013-02-01 8 views
7

bir saklı yordam çağırma, Ben yeni bir saklı yordam tanımlanmış ama arama sırasında bir hata alıyorum var Toad

CREATE OR REPLACE PROCEDURE SCOTT.getempsal(
     p_emp_id IN NUMBER, 
     p_emp_month IN CHAR, 
     p_emp_sal OUT INTEGER) 

AS 
BEGIN 
    SELECT EMP_SAL 
     INTO p_emp_sal 
     FROM EMPLOYEE_SAL 
    WHERE EMP_ID = p_emp_id 
    AND EMP_MONTH = p_emp_month; 

END getempsal; 

Ve ister aramaya çalışıyorum:

getempsal(1,'JAN',OUT) --Invalid sql statement. 
+0

Toad ile çağrılabilir. Böylece, Prosedürü doğrudan görüntüleyebilir ve bunu aracın kendisinden yürütebilirsiniz. –

cevap

14

muracatiniz bir çıkış içeriyor parametresi, bu nedenle gibi bloğunda demen gerekiyor:

declare 
a number; 
begin 
    getempsal(1,'JAN',a); 
    dbms_output.put_line(a); 
end; 

basit prosedür (en çok sayıda Paramete ile diyelim r) SQL * Plus aksine ** GUI tabanlı istemci aracı **

exec proc(1); 

veya

begin 
proc(1); 
end; 
+2

Prosedür imleci döndürürse, sadece bildirmek ve sonra aşağıdakileri yapın: : output: = imleç; Bu, imleç içeriğini veri kılavuzunda basacaktır. –

+0

Bir daha yararlı şey - çıktı imleci ile tüm saklı yordamları şu şekilde yapabilirsiniz: exec package_name.procedure_name ('param', 'param2',: 0) ve imleç içeriği datagrid'de alırsınız. –

İlgili konular