Plsql 如何使用子查询将局部变量添加到PL/SQL INSERT中

Plsql 如何使用子查询将局部变量添加到PL/SQL INSERT中,plsql,subquery,insert-into,Plsql,Subquery,Insert Into,我有一个Oracle PL/SQL问题。我有一个插件,可以很好地工作: 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_typ

我有一个Oracle PL/SQL问题。我有一个插件,可以很好地工作:

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语句中?
感谢您查看此内容。

它可以作为常量添加到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:

工作得很好。谢谢