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 ...,那么如果想通过自己或者其他的表来进行更新,可以通过什么方法呢?

待补充。。。

posted @ 2018-08-11 23:15  王洁  阅读(586)  评论(0编辑  收藏  举报