我可以在 SQL 查询的 select 部分使用游标吗?
Can I use a cursor in the select part of a SQL query?
我想从两个 table 中提取 select 列并添加一个额外的列并将其放入 table。我的问题是我可以使用游标遍历 table 并计算一个值,然后将其分配给 select 部分中的新列,如下所示
SELECT a.cola,
a.colB,
b.colC,
b.colD,
(CURSOR TO LOOP THROUGH a table and then calculate some value) as new column
INTO NEWTABLE
FROM a
INNER JOIN b
ON a.id=b.id
WHERE etc
我只需要知道这是可能的吗?
您可以使用相关子查询(这确实意味着您必须确保每条记录只能返回一个值)但出于性能原因,如果可能的话,最好通过联接来执行此操作。如果基于集合的替代方法有效,则永远不要将循环视为获取数据的一种方式。
我想从两个 table 中提取 select 列并添加一个额外的列并将其放入 table。我的问题是我可以使用游标遍历 table 并计算一个值,然后将其分配给 select 部分中的新列,如下所示
SELECT a.cola,
a.colB,
b.colC,
b.colD,
(CURSOR TO LOOP THROUGH a table and then calculate some value) as new column
INTO NEWTABLE
FROM a
INNER JOIN b
ON a.id=b.id
WHERE etc
我只需要知道这是可能的吗?
您可以使用相关子查询(这确实意味着您必须确保每条记录只能返回一个值)但出于性能原因,如果可能的话,最好通过联接来执行此操作。如果基于集合的替代方法有效,则永远不要将循环视为获取数据的一种方式。