oracle序列与组合函数同时使用问题
CREATE
TABLE T1
(
ID NUMBER NOT NULL,
NAME VARCHAR2(20),
AGE NUMBER(3),
P_ID NUMBER(14) NOT NULL,
PRIMARY KEY (ID)
);
CREATE
TABLE T2
(
ID NUMBER NOT NULL,
NAME VARCHAR2(20),
AGE NUMBER(3),
SEX CHAR(1),
PRIMARY KEY (ID)
)
执行:
insert into t1(ID,NAME,AGE,p_id) (
select SEQ_TI3.nextval as ID,name,max(age),122 as P_ID
from t2
where sex='n'
group by ID,name
);
14:08:01 [INSERT - 0 row(s), 0.000 secs] [Error Code: 2287, SQL State: 42000] ORA-02287: 此处不允许序号
好像SEQ_TI3.nextval 与 max(age)不能同时使用,有什么办法可以解决吗?请大家帮帮忙,非常感谢!
------解决方案--------------------把表中数据贴出来一些,然后说明你最终要实现什么。
看看能不能有其它方法。
------解决方案--------------------
用子查询,如下
select SEQ_TI3.nextval as ID,t.* from
(select name,max(age),122 as P_ID
from t2
where sex='n'
group by ID,name ) t