Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 子查询返回超过1行的Oracle insert语句_Sql_Oracle - Fatal编程技术网

Sql 子查询返回超过1行的Oracle insert语句

Sql 子查询返回超过1行的Oracle insert语句,sql,oracle,Sql,Oracle,我有一张这样的桌子(L): 我在PL/SQL包中有一个insert语句,如下所示: INSERT INTO LE (l_email_id, l_id, source, contact_name,

我有一张这样的桌子(L):

我在PL/SQL包中有一个insert语句,如下所示:

        INSERT INTO LE (l_email_id,
                                    l_id,
                                    source,
                                    contact_name,
                                    contact_phone,
                                    email_address,
                                    effective_date,
                                    expiry_date,
                                    created_by,
                                    create_timestamp,
                                    updated_by,
                                    update_timestamp)
             VALUES (
                       SEQ_LE.NEXTVAL,
                       (SELECT l_id
                          FROM L
                         WHERE client_num = in_client_num
                           AND UPPER (l_code) = UPPER (in_l_code)
                           AND in_year BETWEEN EXTRACT(YEAR FROM effective_date)
                                                         AND EXTRACT(YEAR FROM expiry_date)),
                       'JURIS',
                       NULL,
                       NULL,
                       TRIM (v_email_address_a (v_index_a)),
                       TRUNC (SYSDATE),
                       (ADD_MONTHS (TRUNC (SYSDATE, 'YEAR'), 12) - 1),
                       (SELECT ad_user
                          FROM OAU
                         WHERE ad_user_id = in_ad_user_id),
                       SYSTIMESTAMP,
                       (SELECT ad_user
                          FROM OAU
                         WHERE ad_user_id = in_ad_user_id),
                       SYSTIMESTAMP);

如果
为2015年,则对
L
表的子查询将检索
L\u id
的2和3。我的问题是,如何插入两个
l\u id
?不会总是有2条记录,有时也可能有1条或多于2条记录。

像这样插入多行时,最好使用如下语句

 Insert into YourTable (col1,col2,..) select (exp1,exp2,...)  

您可以在select中使用联接。

插入多行时,最好使用如下语句

 Insert into YourTable (col1,col2,..) select (exp1,exp2,...)  

您可以在选择中使用连接。

使用
插入到…选择从L加入非统组织等等
使用
插入到…选择从L加入非统组织等等