update select的select有不存在的字段也能成功
CREATE TABLE TEMP1(
EmpNo NUMBER(6) PRIMARY KEY,
Deptno NUMBER(6),
Remark VARCHAR2(100)
);
insert into TEMP1 values(1,111,'备注111');
insert into TEMP1 values(2,222,'备注222');
insert into TEMP1 values(3,333,'备注333');
CREATE TABLE TEMP2(
Deptno NUMBER(6),
loc VARCHAR2(10)
);
insert into TEMP2 values(111,'NEWYORK');
insert into TEMP2 values(222,'BEIJING');
insert into TEMP2 values(333,'SHANGHAI');
insert into TEMP2 values(444,'SHENGZHENG');
下面的update查询temp2中字段更新temp1,但temp2中没有empno,remark字段也能执行成功,
deptno值更改了,但empno和remark的值没变;
并且如果select中的不存在的两个字段也不存在temp1中的话执行就会报错。
update TEMP1
set (deptno,empno,remark)=(select deptno,empno,remark from TEMP2 where deptno=222)
where empno=1;
哪位前辈能帮忙分析下这个update是怎么解析执行的...