我有一个游标,其中包含它返回的行中的几列,我想立即处理这些列.我注意到,我看到的关于如何使用游标的大多数示例显示,它们将游标中的特定列一次分配给一个标量值,然后移动到下一行,

例如

OPEN db_cursor  
FETCH NEXT FROM db_cursor INTO @name  

WHILE @@FETCH_STATUS = 0  
BEGIN  
       --Do Stuff with @name scalar value, then get next row from cursor

       FETCH NEXT FROM db_cursor INTO @name  
END

我想知道的是,是否有可能做到以下几点:

    OPEN db_cursor  
    FETCH NEXT FROM db_cursor; 

    WHILE @@FETCH_STATUS = 0  
    BEGIN  
           SET @myName = db_cursor.name;
           SET @myAge = db_cursor.age;
           SET @myFavoriteColor = db_cursor.favoriteColor;
           --Do stuff with scalar values

           FETCH NEXT FROM db_cursor; 
    END

帮助总是值得感激的.

推荐答案

这应该是有效的:

DECLARE db_cursor CURSOR FOR SELECT name, age, color FROM table; 
DECLARE @myName VARCHAR(256);
DECLARE @myAge INT;
DECLARE @myFavoriteColor VARCHAR(40);
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor;
WHILE @@FETCH_STATUS = 0  
BEGIN  

       --Do stuff with scalar values

       FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor;
END;
CLOSE db_cursor;
DEALLOCATE db_cursor;

Sql相关问答推荐

平均SQL

如何查询未命名对象的SON数组

SUM(条件)在Oracle?

在postgres中动态计算出现次数并插入到json中

在请求结束之前,PostgreSQL不会考虑使用中的删除

我希望以正确的升序获取SQL结果.怎样才能得到它们?

Oracle SQL根据列中的条件 Select 最大记录数

Ffltter&;Dart SQL Lite包:是否可以在一个查询中执行多条更新语句(每次执行不同的WHERE参数)

PostgreSQL使用SQL子查询在时间间隔内 Select 数据

了解放置时的连接

根据Rails活动记录中时间戳/日期时间的时间部分从PostgreSQL中提取记录

按属性值 Select 数组元素Postgres Jsonb

用另一个表中的特定名称替换 SQL 查询中的 ID.但我的两个表都有多个列

连续天跟踪购买情况(将标记返回到另一列?)

如何查询自引用 comments 表以查找带有回复的 comments ,并按最新回复排序?

SQL 根据前一天的最大值计算每天的值数

计算组内多个日期间隔go 年的累计天数

Oracle SQL:通过将日期与另一个表行进行比较来 Select 值

SQL 中的第一个值和倒数第二个值

Clob 问题 - 将 clob 列拆分为多行