PL / SQL存储过程编译错误

时间:2016-11-24 06:05:54

标签: plsql

我尝试创建存储过程但是在执行下面的存储过程时,我收到编译错误:

create or replace procedure "Employee"    
is    
begin 
select unique ID from prod p where p.value in('R44',
'R76',
'R79',
'R20',
'R02',
'RY1',
'R71',
'R38',
'R58',
'RM8',
'RW8',
'R74',
'R73',
'R99',
'R72',
'R19',
'R33',
'RN3',
'R34',
'RP8',
'R22',
'R75',
'R01',
'R67',
'R27',
'R28',
'R57',
'RC5',
'RW7',
'RZ9',
'R77',
'R07',
'RW6')  

end;    
/       

1 个答案:

答案 0 :(得分:0)

您的代码存在很多问题。
在您的示例中,您还缺少序列后面的;
如果您希望在屏幕上显示该序列的输出,则不能这样做。
这是一个可以给你一个指示的工作示例:

DECLARE
    CURSOR cProd IS
            select unique(ID) Id from prod p where p.value in('R44','R76',
            'R79','R20','R02','RY1','R71','R38','R58','RM8','RW8','R74','R73','R99','R72','R19','R33','RN3',
            'R34','RP8','R22','R75','R01','R67','R27','R28','R57','RC5','RW7','RZ9','R77','R07','RW6');
    rProd cProd%ROWTYPE;
BEGIN
    OPEN cProd;
    FETCH cProd INTO rProd;
    CLOSE cProd;

    DBMS_OUTPUT.PUT_LINE(rProd.Id);
END;  
/

Link about fetching from a cursor.

编辑:
rProd中,上面的示例存储了查询中的所有输出行。