sql server中如何判斷遊標是否存在

來源:互聯網
上載者:User
--測試DECLARE @SNAME VARCHAR(20)DECLARE DD  CURSOR FOR SELECT SNAME FROM SOPEN DD--樓上說的對.你要的是判斷遊標是否存在select * from MASTER.dbo.syscursors where cursor_name='DD'--以下操作為判斷遊標是否存在的同時檢測遊標狀態。SELECT (CASE WHEN CURSOR_STATUS('global','DD')=1 THEN '遊標的結果集至少有一行'            WHEN CURSOR_STATUS('global','DD')=0 THEN '遊標的結果集為空白'            WHEN CURSOR_STATUS('global','DD')=-1 THEN '遊標被關閉'            WHEN CURSOR_STATUS('global','DD')=-2 THEN '遊標不適用'            WHEN CURSOR_STATUS('global','DD')=-3 THEN '遊標不存在' END) AS RESULT/*返回結果:1 遊標的結果集至少有一行。對於不區分的遊標和鍵集遊標,結果集至少有一行。對於動態資料指標,結果集可以有零行、一行或多行。 分配給該變數的遊標已開啟。對於不區分的遊標和鍵集遊標,結果集至少有一行。對於動態資料指標,結果集可以有零行、一行或多行。 0 遊標的結果集為空白。* 分配給該變數的遊標已經開啟,然而結果集肯定為空白。* -1 遊標被關閉。 分配給該變數的遊標被關閉。 -2 不適用。 可以是:先前調用的過程並沒有將遊標分配給 OUTPUT 變數。先前調用的過程為 OUTPUT 變數分配了遊標,然而在過程結束時,遊標處於關閉狀態。因此,遊標被釋放,並且沒有返回調用過程。沒有將遊標分配給已聲明的遊標變數。 -3 具有指定名稱的遊標不存在。 具有指定名稱的遊標變數並不存在,或者即使存在這樣一個遊標變數,但並沒有給它分配遊標。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.