数据仓库服务 GAUSSDB(DWS)-伪列:ROWNUM
ROWNUM
对于查询返回的每行数据,ROWNUM伪列段会返回一个数字,表示Oracle从一个表或一组连接的行中选择行的顺序。选择的第一行的ROWNUM为1,第二行为2,以此类推。
输入:ROWNUM,使用UPDATE
执行UPDATE时,如果使用了具有某个值(整数)的ROWNUM,系统将根据ROWNUM附近使用的运算符更新记录。
1 2 3 4 5 |
UPDATE SCMS_MSGPOOL_LST SET MSG_STD = '11' WHERE UNISEQNO = IN_OUNISEQNO AND MSG_TYP1 IN ('MT103', 'MT199') AND ROWNUM = 1; |
输出
1 2 3 4 5 6 7 |
UPDATE SCMS_MSGPOOL_LST SET MSG_STD = '11' WHERE (xc_node_id,ctid) in (select xc_node_id, ctid from SCMS_MSGPOOL_LST where UNISEQNO = IN_OUNISEQNO AND MSG_TYP1 IN ('MT103', 'MT199') LIMIT 1) |
输入:ROWNUM,使用DELETE
执行DELETE时,如果使用了具有某个值(整数)的ROWNUM,系统将根据ROWNUM附近的运算符依次删除记录。
1 2 |
delete from test1 where c1='abc' and rownum = 1; |
输出
1
|
delete from test1 where (xc_node_id,ctid) in (select xc_node_id, ctid from test1 where c1='abc' limit 1); |
输入:UPDATE,使用ROWNUM
使用ROWNUM迁移的UPDATE和DELETE脚本包含LIMIT,高斯不支持。
1 2 3 4 5 |
UPDATE SCMS_MSGPOOL_LST SET MSG_STD = '11' WHERE UNISEQNO = IN_OUNISEQNO AND MSG_TYP1 IN ('MT103', 'MT199') AND ROWNUM = 1; |
输出
1 2 3 4 5 6 7 8 |
UPDATE SCMS_MSGPOOL_LST SET MSG_STD = '11' WHERE (xc_node_id, ctid) = ( SELECT xc_node_id, ctid FROM SCMS_MSGPOOL_LST WHERE UNISEQNO = IN_OUNISEQNO AND MSG_TYP1 IN ('MT103', 'MT199') LIMIT 1 ); |
输入:DELETE,使用ROWNUM
1 2 3 4 5 |
DELETE FROM SPMS_APP_PUBLISH WHERE NOVA_NO = IN_NOVA_NO AND DELIVERY_TYPE = '1' AND PUBLISH_DATE = IN_PUBLISH_DATE AND ROWNUM = 1; |
输出
1 2 3 4 5 6 7 8 |
DELETE FROM SPMS_APP_PUBLISH WHERE (xc_node_id, ctid) IN (SELECT xc_node_id, ctid FROM SPMS_APP_PUBLISH WHERE NOVA_NO = IN_NOVA_NO AND DELIVERY_TYPE = '1' AND PUBLISH_DATE = IN_PUBLISH_DATE LIMIT 1 ); |
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- 如何进行日志采集和转储_日志平台_日志接入_日志转储
- Gauss(DWS)数据加解密_数据加解密算法_数据加解密函数