服務(wù)之間的調(diào)用有幾種方式 什么是游標?使用游標的基本步驟是什么?
什么是游標?使用游標的基本步驟是什么? 游標(cursor)是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。每個游標區(qū)都有一個名字,用戶可以用SQL語句逐一從游標中獲取記錄,并賦給主變量
什么是游標?使用游標的基本步驟是什么?
游標(cursor)是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。每個游標區(qū)都有一個名字,用戶可以用SQL語句逐一從游標中獲取記錄,并賦給主變量,交由主語言進一步處理?! reate proc cursorTest @_id int=0, @_name varchar(50)="" as--創(chuàng)建游標 declare @cursor cursor--設(shè)定游標欲操作的數(shù)據(jù)集 set @cursor=cursor for select _id,_name from users open @cursor--打開游標 fetch next from @cursor into @_id,@_name--移動游標指向到第一條數(shù)據(jù),提取第一條數(shù)據(jù)存放在變量中 while(@@fetch_status=0)begin--如果上一次操作成功則繼續(xù)循環(huán) print @_name--操作提出的數(shù)據(jù) fetch next from @cursor into @_id,@_name--繼續(xù)提下一行 end close @cursor--關(guān)閉游標 deallocate @cursor--刪除游標
存儲過程為什么要用游標,什么情況下使用游標?
存儲過程中查詢語句如何返回多行結(jié)果?我們知道,如果存儲過程中查詢語句有多行結(jié)果輸出,會報錯。若想讓存儲過程中的查詢語句返回多行結(jié)果不報錯,則需要使用游標來實現(xiàn)。本例主要也是用來熟悉存儲過程中游標的簡單使用方法:SET SERVEROUTPUT ONv_empno emp.empno%TYPE--定義游標 CURSOR emp_cursor IS SELECT empno, ename, sal from empBEGIN--循環(huán)開始FETCH emp_cursor INTO v_empno, v_ename, v_sal--退出循環(huán)的條件 EXIT WHEN emp_cursor%NOTFOUND OR emp_cursor%NOTFOUND IS NULLdbms_output.put_line("員工編號為" || v_empno || "的" || v_ename || "薪水為:" || v_sal) END LOOPEND /