1. 创建示例表 t1 和 t2。
  1. OceanBase(admin@test)>create table t1(c1 int primary key, c2 int);
  2. Query OK, 0 rows affected (0.16 sec)
  3. OceanBase(admin@test)>select * from t1;
  4. +----+------+
  5. | c1 | c2 |
  6. +----+------+
  7. | 1 | 1 |
  8. | 2 | 2 |
  9. | 3 | 3 |
  10. | 4 | 4 |
  11. +----+------+
  12. 4 rows in set (0.06 sec)
  13. OceanBase(admin@test)>create table t2(c1 int primary key, c2 int) partition by key(c1) partitions 4;
  14. Query OK, 0 rows affected (0.19 sec)
  15. OceanBase(admin@test)>select * from t2;
  16. +----+------+
  17. | c1 | c2 |
  18. +----+------+
  19. | 5 | 5 |
  20. | 1 | 1 |
  21. | 2 | 2 |
  22. | 3 | 3 |
  23. +----+------+
  24. 4 rows in set (0.02 sec)
  1. 将表 t1 中按照 c2 列排序的前两行数据的 c2 列值修改为 100。
  1. OceanBase(admin@test)>update t1 set t1.c2 = 100 order by c2 limit 2;
  2. Rows matched: 2 Changed: 2 Warnings: 0
  3. OceanBase(admin@test)>select * from t1;
  4. +----+------+
  5. | c1 | c2 |
  6. +----+------+
  7. | 1 | 100 |
  8. | 2 | 100 |
  9. | 3 | 3 |
  10. | 4 | 4 |
  11. +----+------+
  12. 4 rows in set (0.01 sec)
  1. 将表 t2 中 p2 分区的数据中 “t2.c1 > 2” 的对应行数据的 c2 列值修改为 100。
  1. 修改多个表。将 t1 表和 t2 表中满足 “t1.c1 = t2.c1” 对应行的数据 t1 表中的 c2 列值修改为 100,t2 表中的 c2 列值修改为 200。
  1. OceanBase(admin@test)>update t1,t2 set t1.c2 = 100, t2.c2 = 200 where t1.c2 = t2.c2;
  2. Query OK, 6 rows affected (0.03 sec)
  3. Rows matched: 6 Changed: 6 Warnings: 0
  4. OceanBase(admin@test)>select * from t1;
  5. +----+------+
  6. | c1 | c2 |
  7. +----+------+
  8. | 1 | 100 |
  9. | 2 | 100 |
  10. | 3 | 100 |
  11. | 4 | 4 |
  12. +----+------+
  13. OceanBase(admin@test)>select * from t2;
  14. +----+------+
  15. | c1 | c2 |
  16. +----+------+
  17. | 5 | 5 |
  18. | 1 | 200 |
  19. | 2 | 200 |
  20. | 3 | 200 |
  21. +----+------+
  22. 4 rows in set (0.01 sec)
  1. 修改多个表。修改 t1 表和 t2 表的p2分区中满足 “t1.c1 = t2.c1” 对应行的数据 t1 表中的 c2 列值修改为 100,t2 表中的 c2 列值修改为 200。
  1. 对可更新视图 v 进行更新值。
  1. OceanBase(admin@test)>create view v as select * from t1;
  2. Query OK, 0 rows affected (0.07 sec)
  3. OceanBase(admin@test)>update v set v.c2 = 100 where v.c1 = 1;
  4. Query OK, 1 row affected (0.02 sec)
  5. Rows matched: 1 Changed: 1 Warnings: 0
  6. OceanBase(admin@test)>select * from v;
  7. +----+------+
  8. | c1 | c2 |
  9. +----+------+
  10. | 1 | 100 |
  11. | 2 | 2 |
  12. | 3 | 3 |
  13. | 4 | 4 |
  14. +----+------+