Oracle 插入数据报错 ORA-00918
1. 报错内容
ErrorCode = 918, SQLState = 23000, Details = ORA-00918: column 'TO_DATE('2023-12-1809:13:45','YYYY-MM-DDHH24:MI:SS')' in field list ambiguously defined
2. 原因
sql中的值重复了,导致Oracle未能明确,列跟哪一列进行对应
insert into table_name( ID, col_id, col_NAME, col_2_ID, xx_NAME, xxx3, xxx3, d3, xx3, col34, col98, CREATE_DATE, LAST_DATE ) select SEQ.nextval, a.* from( select 8, 'v1', 70, 'v3', '333', 'xxx', to_date('2023-12-18 09:13:45', 'yyyy-mm-dd hh24:mi:ss'), 'Ddd', 0, 1, to_date('2023-12-18 09:13:45', 'yyyy-mm-dd hh24:mi:ss'), to_date('2023-12-18 09:13:45', 'yyyy-mm-dd hh24:mi:ss') from dual ) a
3. 解决方案
值加一个别名
insert into table_name( ID, col_id, col_NAME, col_2_ID, xx_NAME, xxx3, xxx3, d3, xx3, col34, col98, CREATE_DATE, LAST_DATE ) select SEQ.nextval, a.* from( select 8, 'v1', 70, 'v3', '333', 'xxx', to_date('2023-12-18 09:13:45', 'yyyy-mm-dd hh24:mi:ss') as d1, 'Ddd', 0, 1, to_date('2023-12-18 09:13:45', 'yyyy-mm-dd hh24:mi:ss') as d2, to_date('2023-12-18 09:13:45', 'yyyy-mm-dd hh24:mi:ss') as d3 from dual ) a