การใช้ Cursor ในการอัพเดตข้อมูล เร็วกว่าการเขียนโปรแกรม
ข้อมูลจาก :
http://www.bigquery.com/aDetails.php?aID=28&cID=9
ฝาก code ไว้ในอ้อมใจ
begin tran g4
DECLARE @EMPLOYEE_CODE varchar(8) ,
@DEPARTMENT_CODE varchar(4) --ประกาศค่าตัวแปลในที่นี้เป็นหมายเลขบัญชี
DECLARE tempEMP CURSOR FOR -- ประกาศชื่อ tempAR เป็น Cursor
SELECt employee_code,department_code FROM tmp_emperror -- query statement ดึงข้อมูล
OPEN tempEMP
FETCH NEXT FROM tempEMP into @EMPLOYEE_CODE ,@DEPARTMENT_CODE -- นำค่า employee_code และ department_code ใน table มาใส่ใน ตัวแปล @ARD_ACC_NO ของ mssql
WHILE (@@FETCH_STATUS = 0) -- วนลูปคัพ
BEGIN
update table_exp_emp_detail set department_code = @DEPARTMENT_CODE where employee_code = @EMPLOYEE_CODE
FETCH NEXT FROM tempEMP into @EMPLOYEE_CODE ,@DEPARTMENT_CODE -- loop นั่นเอง
END
CLOSE tempEMP
DEALLOCATE tempEMP
rollback tran g4