2011-02-11 81 views
50

Tôi có một con trỏ chứa một số cột từ hàng mà nó mang lại mà tôi muốn xử lý cùng một lúc. Tôi nhận thấy hầu hết các ví dụ tôi đã thấy về cách sử dụng con trỏ cho thấy chúng chỉ định một cột cụ thể từ con trỏ đến giá trị vô hướng mỗi cột, sau đó chuyển sang hàng tiếp theo,Nhận nhiều giá trị trong SQL Server Con trỏ

ví dụ:

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 

Những gì tôi muốn biết là nếu nó có thể làm điều gì đó như sau:

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 

Trợ giúp luôn đánh giá cao.

Trả lời

93

Điều này sẽ hoạt động:

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; 
Các vấn đề liên quan