Использование переменной связывания в инструкции INSERT - PullRequest
0 голосов
/ 29 апреля 2018

Мне нужно запросить у пользователя переменную, использовать эту переменную в операторе SELECT, а затем использовать эту же переменную в операторе INSERT. Сейчас я просто пытаюсь использовать переменную для INSERT для работы:

var num NUMBER(10)
exec num := &ExpNum
INSERT INTO ExpDet 
VALUES(num, &LineNum, &Descrip, &Amt, &HCode, &SubCode)

Когда я запускаю это, я получаю сообщение об ошибке

Переменная связывания 'num' не объявлена.

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

1 Ответ

0 голосов
/ 29 апреля 2018

Рабочий пример:

SQL> create table expdet
  2    (num number,
  3     linenum number,
  4     descrip varchar2(20),
  5     amt number,
  6     hcode number,
  7     subcode number);

Table created.

SQL> var num number
SQL> exec :num := &expnum
Enter value for expnum: 100

PL/SQL procedure successfully completed.

SQL> insert into expdet values
  2    (:num, &linenum, &descrip, &amt, &hcode, &subcode);
Enter value for linenum: 1
Enter value for descrip: 'a'
Enter value for amt: 1
Enter value for hcode: 1
Enter value for subcode: 1
old   2:   (:num, &linenum, &descrip, &amt, &hcode, &subcode)
new   2:   (:num, 1, 'a', 1, 1, 1)

1 row created.

SQL>
...