Как добавить локальную переменную в PL / SQL INSERT INTO, используя подзапрос - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть вопрос Oracle PL / SQL. У меня есть INSERT INTO, который отлично работает:

DECLARE
   l_filename   VARCHAR2 (1024);      
BEGIN
   l_filename := 'some value';
     INSERT INTO aff_attach
        (file_id, file_name, mime_type, attachment, file_size)
        SELECT ID, l_filename, mime_type, blob_content,DOC_SIZE
          FROM apex_application_files
          WHERE filename = l_filename AND created_by = :app_user;
END:

Теперь в том же операторе INSERT INTO я хотел бы включить другое поле в aff_attach (AFF_EVENT_FKEY). Это значение не будет получено из оператора SELECT. Если я определю l_aff_event_fkey и перед оператором Insert я назначу l_aff_event_fkey значение 9, как я могу включить это в оператор Insert Into? Спасибо за просмотр.

1 Ответ

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

Его можно добавить в оператор SELECT (как константу в SELECT):

DECLARE

   l_filename   VARCHAR2 (1024);
   v_aff_event_fk NUMBER;

BEGIN
   l_filename := 'some value';
   v_aff_event_fk := 9;

     INSERT INTO aff_attach
        (file_id, file_name, mime_type, attachment, file_size, AFF_EVENT_FKEY)
        SELECT ID, l_filename, mime_type, blob_content,DOC_SIZE, v_aff_event_fk
          FROM apex_application_files
          WHERE filename = l_filename AND created_by = :app_user;
END:
...