oracle基本DML语句之update语句
最近我们组的java开发经常找我帮他们写一些update语句,才深感自己基础语句真是欠缺,自惭形秽。。。
那就根据近几日的几个update语句进行总结(都是非常简单的.....):
1.数据准备:
create table T ( id NUMBER, name VARCHAR2(20), value VARCHAR2(20) ); insert into t values(1,'dd','100'); insert into t values(2,'de','200'); insert into t values(3,'df','300');
UPDATE t SET (ID,NAME,VALUE)=(1,'tina','100') WHERE ID = 1;
2.执行上面update语句时候报错:
3.分析:
oracle不支持这种写法
UPDATE t SET ID = 1,NAME = 'tina',VALUE = '100' WHERE ID = 1; UPDATE t SET (ID,NAME,VALUE)=(SELECT 1,'tina','100' FROM dual) WHERE ID = 1;
上面两种写法均可以;
另外:oracle不支持update ...from ...,那么如果想通过自己或者其他的表来进行更新,可以通过什么方法呢?
待补充。。。