在MSSQL里,我是这样关联表更新数据库的UPDATE TABLE1
SET COL1=B.COL1,COL2=B.COL2
FROM TABLE1 A INNER JOIN TABLE2 B
ON A.COL3=B.COL3
WHERE A.COL4='1' AND B.COL4='2'
但到了ORACLE(9i/10g),以上语句该如何修改才能运行?
SET COL1=B.COL1,COL2=B.COL2
FROM TABLE1 A INNER JOIN TABLE2 B
ON A.COL3=B.COL3
WHERE A.COL4='1' AND B.COL4='2'
但到了ORACLE(9i/10g),以上语句该如何修改才能运行?
where exists (select 1 from table2 b where a.col3 = b.col3 and a.col4 = '1' and b.col4 = '2')
0c20f6e8-7b81-401d-b59f-511aff489b26
1d0d61e6-50e4-4485-a099-8b7af31194ec
4f5f14cb-1820-48f1-9a5d-fc7ca7395d02
69f5bf41-e565-4108-936c-890820fc4e57
求如何办?
update ORDER1 a
set (a.PID,a.PRESSNAME2) = (select b.PID,b.PRESSNAME from T_PRESS_POST b where a.PRESSCODE = b.PRESSCODE)
where exists (select 1 from T_PRESS_POST b where a.PRESSCODE = b.PRESSCODE) 即使将数据截小后,仍有以下错误:“ORA01427 单行子查询返回多个行”
----Oracle 方法: 随机取一条记录:----
SELECT * FROM (
SELECT * FROM emp
ORDER BY DBMS_RANDOM.VALUE
)
WHERE rownum<=1;
set (a.PID,a.PRESSNAME2) = (select b.PID,b.PRESSNAME from T_PRESS_POST b where a.PRESSCODE = b.PRESSCODE and rownum=1)
where exists (select 1 from T_PRESS_POST b where a.PRESSCODE = b.PRESSCODE)