我可以在SQL查询的选择部分中使用游标吗?

时间:2016-02-04 14:39:28

标签: sql-server loops select cursor qtsql

我想从两个表中选择列并添加一个额外的并将其放入表中。我的问题是我可以使用游标循环遍历表并计算一个值,然后将其分配给选择部分中的新列,如下所示

    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

我只需要知道这是可能的吗?

1 个答案:

答案 0 :(得分:1)

您可以使用相关子查询(它确实意味着您必须确保每个记录只能返回一个值)但是出于性能原因,如果可能的话,通过连接执行此操作要好得多。如果基于集合的替代方法有效,则不应将循环视为获取数据的方法。