Как передать параметр один раз для множественного выбора - PullRequest
0 голосов
/ 18 июня 2019

В настоящее время я пытаюсь объявить параметр, с помощью которого я могу использовать его в нескольких выборках, когда я пытаюсь запустить текущий запрос, он выводит мне несколько ошибок, в частности:

PLS-00103: Обнаружен символ "конец файла" при ожидании одного из следующих действий:

У вас есть идея или подсказываете мне правильный голос, пожалуйста?

declare
 Bon  NUMBER(20) := &1; --Example : 12345678
begin
 select * 
   from BonTable
  where BonChamp = Bon
    and BonChamp2 = 'FBON'
    and BonChamp3 is not null;

 select * 
   from BonTable2
  where BonChamp4 = Bon
    and rownum = 1;
end;

Я хотел бы, чтобы он спросил меня о моем параметре, затем выполнил оба выбора, в настоящее время он запрашивает у меня параметр, но возвращает меня к ошибке

1 Ответ

4 голосов
/ 18 июня 2019

если вы делаете выбор в plsql, вы должны использовать предложение into.Например, когда ваши операторы select возвращают только одну строку, вы можете объявить переменную типа rowtype вашей таблицы: BonTable%rowtype.

, если ваш оператор Select возвращает более одной строки, вы должны объявить тип таблицы BonTable%rowtype.

declare
 Bon  NUMBER(20) := &1; --Example : 12345678
 rec1 BonTable%rowtype;
 rec2 BonTable2%rowtype;
begin
 select * 
   into rec1  
   from BonTable
  where BonChamp = Bon
    and BonChamp2 = 'FBON'
    and BonChamp3 is not null;

 select * 
   into rec2 
   from BonTable2
  where BonChamp4 = Bon
    and rownum = 1;
end;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...