oracle insert into with select


set feedback off;
set pagesize 0;

create table foo (a number, b varchar(10), c varchar(10));

insert into foo values ( 15, 'abc','def' );
insert into foo values (998, 'max','min' );
insert into foo values ( 7, 'bla','bla' );
insert into foo values (632, 'now','then');

insert into foo
(a,b,c)
(select AA,
BB,
CC
from
(select max(a) +1 AA from foo),
(select 'new' BB,
'old' CC from dual));

select * from foo where a = (select max(a) from foo);

drop table foo;


[size=medium][color=red]--注意,當需要序列值時,不能放在子查詢中[/color] [/size]


INSERT INTO T_A
(id,
goodsA_id,
goodsB_id,
goodsC_id,
num,
money,
dateA_id,
dateB_id,
create_date)
(SELECT test1_SEQUENCE.NEXTVAL,
goodsA_id,
goodsB_id,
goodsC_id,
num,
money,
dateA_id,
dateB_id,
SYSDATE
FROM (SELECT goodsA_id,
goodsB_id,
goodsC_id,
num,
33 money
FROM goods_info),
(SELECT id dateA_id,
period dateB_id
FROM date_x
WHERE flagA = 'Y'))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章