2015-04-07 2 views
-1

Таблица схемыPL процедура/SQL с IN, OUT параметры

jobs(v_id, v_name, v_salary) 

Я хочу, чтобы отобразить v_name и v_salary где id передается в IN параметра

create or replace procedure jobs_select(
    id  IN jobs.v_id%TYPE, 
    position OUT jobs.v_position%TYPE, 
    salary OUT jobs.v_salary%TYPE 
) 
IS 
BEGIN 
    select v_position into position, v_salary 

into salary from jobs where v_id = id; 

    dbms_output.put_line('Position: ' || position 

|| ' Salary: ' || salary); 
END; 
/

дает погрешность не может найти 'FROM' где ожидается

+0

У вас есть вторая 'in' в вашей инструкции' select'. –

ответ

2

Ошибка в инструкции select, которая теперь редактируется, проверьте следующее:

create or replace procedure jobs_select(
     id  IN jobs.v_id%TYPE, 
     position OUT jobs.v_position%TYPE, 
     salary OUT jobs.v_salary%TYPE 
    ) 
    IS 
    BEGIN 
     select v_position, v_salary into 
      position, salary 
      from jobs where v_id = id; 

     dbms_output.put_line('Position: ' || position 

    || ' Salary: ' || salary); 
    END; 
    /

    -- And executed it like this: 

    set serveroutput on; 
    Declare 
    v_id Number := 9999; 
    v_name varchar2(100); 
    v_salary number; 
    Begin 
    jobs_select(v_id, v_name, v_salary); 
    end; 
/
Смежные вопросы