การใช้ cursor ในการอัพเดตข้อมูล เร็วกว่า การเขียนโปรแกรม?

ฝาก 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

Leave a Reply