Search code examples
oracle-databaseora-06550pls-00103

oracle - PLS-00103 & ORA -06550 on procedures


I'm getting the above error while trying to run a simple PL/SQL program that uses procedures. I dont know what went wrong, please help out.

declare
    create or replace procedure palindrome (x in number,y out number) is
    i integer;
    j integer;
    k integer:=0;
begin
    i:=x;
    while i>0
    loop
        j:=mod(i,10);
        k:=k*10+j;
        i:=i/10;
    end loop;
    y:=k;
end;
begin
    x integer:=121;
    y integer;
    palindrome(x,y);
    dbms_output.put_line(y);
end;

/ ERROR at line 2:

ORA-06550: line 2, column 2: PLS-00103: Encountered the symbol "CREATE" when expecting one of the following: begin function pragma procedure subtype type current cursor delete exists prior


Solution

  • Modifications to your code.

      create or replace procedure palindrome (x in number,y out number) is
        i integer;
        j integer;
        k integer:=0;
    
    begin
        i:=x;
        while i>0
        loop
            j:=mod(i,10);
            k:=k*10+j;
            i:=i/10;
        end loop;
        y:=k;
        dbms_output.put_line(y);
    end;
    

    /

    Execute that procedure

    declare
    y number;
    begin
     palindrome(133,y);
    end;