是否可以将插入与选择组合? e.g。
插入
INSERT INTO user_history VALUES (SEQ_USER_HISTORY_ID.nextval, '65567','AccountStatus', 'Y', 'N', sysdate, 1, 'Update');
选择
SELECT USER_ID FROM USER WHERE COUNTRY = 'MEX'
select语句将返回许多用户ID,我需要为每个用户ID添加一个插入语句。
由于
答案 0 :(得分:1)
是。要内联使用,必须完成选择,并且只能返回一行。
例如
INSERT INTO user_history
VALUES (select SEQ_USER_HISTORY_ID.nextval from dual,
'65567',
'AccountStatus',
'Y',
'N',
sysdate,
1,
'Update');
要使用另一个SQL,如SELECT USER_ID FROM USER WHERE COUNTRY = 'MEX'
并插入多行(SQL中每行一行),您需要以这种方式使用它:
INSERT INTO user_history
(select SEQ_USER_HISTORY_ID.nextval,
USER_ID ,
'accountStatus',
'Y',
'N',
sysdate,
1,
'update'
FROM USER
WHERE COUNTRY = 'MEX');
参考(参见示例部分):https://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems025.htm#sthref1704