云数据库 GAUSSDB-UPDATE:示例

时间:2025-03-14 09:56:57

示例

--创建表student1。
gaussdb=# CREATE TABLE student1
gaussdb=#(
gaussdb=#   stuno     int,
gaussdb=#   classno   int 
gaussdb=#);

--插入数据。
gaussdb=# INSERT INTO student1 VALUES(1,1);
gaussdb=# INSERT INTO student1 VALUES(2,2);
gaussdb=# INSERT INTO student1 VALUES(3,3);

--查看数据。
gaussdb=# SELECT * FROM student1;

--直接更新所有记录的值。
gaussdb=# UPDATE student1 SET classno = classno*2;

--查看数据。
gaussdb=# SELECT * FROM student1;

--删除表。
gaussdb=# DROP TABLE student1;

--WHERE CURRENT OF cursor_name用例
gaussdb=# CREATE TABLE t1(c1 int, c2 varchar2) WITH (storage_type = 'ustore', fillfactor=100); -- 创建表
gaussdb=# INSERT INTO t1 VALUES(generate_series(1,1000),'abcd'); -- 插入数据

gaussdb=# DECLARE
gaussdb-# CURSOR cur1 IS SELECT * FROM t1 WHERE c1 = 1 FOR UPDATE;
gaussdb-# va t1%rowtype;
gaussdb-# BEGIN
gaussdb$# OPEN cur1;
gaussdb$# FETCH cur1 INTO va;
gaussdb$# UPDATE t1 SET c2 = c2 || c2  WHERE CURRENT OF cur1; -- 使用WHERE CURRENT OF cursor_name更新数据
gaussdb$# CLOSE cur1;
gaussdb$# COMMIT;
gaussdb$# END;
gaussdb$# /

gaussdb=# SELECT * FROM t1 WHERE c1 = 1; -- 查询数据

gaussdb=# DROP TABLE t1; --删除表
support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0664.html
提示

您即将访问非华为云网站,请注意账号财产安全