SQL* Plus не запускается PL / SQL блок - PullRequest
0 голосов
/ 13 апреля 2020

У меня проблема с запуском сценария PL / SQL в SQL* Plus. Я могу нормально запускать команды SQL, но когда я хочу запустить любой код PL / SQL, он ничего не дает. См. Код и вывод ниже.

screenshot

DECLARE
    x_salary employee.salary%TYPE;
BEGIN
    select salary
    into x_salary
    from employee
    where ssn=&enter_ssn;

    --Output the result
    DBMS_OUTPUT.PUT_LINE('Salary is ' || x_salary);

EXCEPTION
    --Output when no records are returned
    WHEN no_data_found THEN
        DBMS_OUTPUT.PUT_LINE ('No employee found');

    WHEN others THEN
        DBMS_OUTPUT.PUT_LINE ('Error encountered, but cause unknown');
END;

Ответы [ 2 ]

2 голосов
/ 13 апреля 2020

PL / SQL потребности процедур / после определения процедуры в sqlplus

DECLARE
 ...
BEGIN
 ...
END;

/
1 голос
/ 13 апреля 2020

Поместите sla sh / в новую строку после END; в вашем скрипте.

Из документации :

You должен включать точку с запятой в конце каждой команды SQL и sla sh (/) в отдельной строке после каждого блока PL / SQL в файле.

Затем выполните файл SQL в командной строке SQL* Plus как:

@C:\your_script.sql;
...