如何从条件为 ROWNUM 的 SELECT 结果更新?
How to UPDATE from SELECT result where condition is 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;
也不行。
我做错了什么?
I want to create 'index' 1,2,3,....600 for the all rows of one of my existing table
如果是这样,那么
UPDATE REVIEW_T SET RVT_RATING = 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;
也不行。
我做错了什么?
I want to create 'index' 1,2,3,....600 for the all rows of one of my existing table
如果是这样,那么
UPDATE REVIEW_T SET RVT_RATING = rownum;