oracle - 如何从条件为 ROWNUM 的 SELECT 结果中更新?
问题描述
我在创建基于以 ROWNUM 作为 WHERE 条件的选择查询的更新查询时遇到一些问题。
我对这些查询进行了实验:
SELECT *
FROM
(SELECT ROWNUM, RVT.* FROM RVT)
WHERE RVT_ID IS NOT NULL;
这有效,但是
SELECT *
FROM
(SELECT ROWNUM, RVT.* FROM RVT) AS TEMP_TABLE1
WHERE TEMP_TABLE1.RVT_ID IS NOT NULL;
不起作用。
我想要实现的是:
UPDATE REVIEW_T
SET RVT_RATING = 1
FROM (SELECT ROWNUM, RVT.* FROM RVT )
WHERE ROWNUM = 1;
哪个不起作用。还,
UPDATE REVIEW_T
SET RVT_RATING = 1
FROM (SELECT ROWNUM, RVT.* FROM RVT) AS TEMP_TABLE
WHERE TEMP_TABLE.ROWNUM = 1;
也不行。
我究竟做错了什么?
解决方案
我想为现有表之一的所有行创建“索引”1,2,3,....600
如果是这样,那么
UPDATE REVIEW_T SET RVT_RATING = rownum;
推荐阅读
- r - 对 R 中的列求和时的问题
- r - 根据重复的字符串值将行拆分为具有列名的多列
- html - 强制以 css 网格开始新行
- apache-spark - Spark - 计算数组列的统计信息 (ArrayType)
- android - 错误:程序类型已存在:com.google.gson.JsonNull 如何找到重复的库
- sql - Oracle 日期比较
- c# - 从 OPOS 驱动程序打印的假脱机文档
- javascript - 如何使用纯 JavaScript 从视频中获取活动字幕文本?
- python-3.x - python如何从json.file循环数据进行搜索
- angular - Angular - 捆绑时加载资产