亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle的靜態游標與動態游標區別是什么

發布時間:2021-07-16 00:40:26 來源:億速云 閱讀:1172 作者:chen 欄目:大數據

本篇內容介紹了“Oracle的靜態游標與動態游標區別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

前言

我們在寫Oracle的存儲過程里面,經常會用到游標,Oracle里面的游標分為靜態游標和動態游標。今天我們在說一下分別有什么不同。

靜態游標和動態游標的概念

靜態游標

顯式游標和隱式游標稱為靜態游標,因為在使用他們之前,游標的定義已經完成,不能再更改。

定義:

Cursor 游標名(參數1,參數2......) is  查詢語句

調用時:

for 變量行 in 游標名 loop

end loop;

動態游標

游標在聲明時沒有設定,在打開時可以對其進行修改。

定義:

TYPE 游標別名 IS REF CURSOR;

游標名 游標別名;

調用時:

open 游標名 for 動態SQL語句;

loop

    exit when 游標名%NOTFOUND;

    fetch 游標名

      into 變量1,變量2,變量3,變量4;

相對來說靜態游標在存儲過程中用到的會比較多,而動態游標相對較少,像我們如果存在分割表的時候,取數據時就會用到動態游標了。

代碼演示

使用背景

我們在存儲過程中輸入開始和結束日期,用于查詢開始到結束日期這一段時間內的銷售。

解決思路

這個查詢我們就可以用到靜態游標和動態游標的結合使用。

  1. 通過靜態游標設置開始和結果日期獲取到所涉及到的當前年月。

  2. 根據獲取到的當前年月生成要查詢對應的月份分割表的動態SQL語句。

  3. 用動態游標遍歷,然后進行數據的處理。

代碼

Oracle的靜態游標與動態游標區別是什么

上面是定義和靜態游標和動態游標,下面的靜態游標的寫法,是根據輸入的開始和結束日期獲取對應的當前年月

即如果輸入了2018-06-01----2018-08-30

游標顯示結果為

201806

201807

201808


Oracle的靜態游標與動態游標區別是什么

根據輸入的日期通過靜態游標生成對應的動態SQL語句。vs_sSql是我們的動態字符串,把主表查詢先加進來,然后根據輸入的開始和結束日期找到對應的月份分割表,然后判斷表是否存在,如果存在的話就用union all把分割表加入到動態SQL語句里


Oracle的靜態游標與動態游標區別是什么

通過動態sql語句使用動態游標遍歷銷售進行數據的更新。

“Oracle的靜態游標與動態游標區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

策勒县| 启东市| 大埔区| 霍山县| 卫辉市| 禹州市| 博罗县| 长沙县| 正镶白旗| 浮山县| 营口市| 平昌县| 六枝特区| 江陵县| 弥渡县| 彰武县| 大足县| 德州市| 榕江县| 乌拉特前旗| 左权县| 东阳市| 察隅县| 栾城县| 巢湖市| 余姚市| 景德镇市| 紫金县| 文昌市| 潮安县| 玉环县| 岳西县| 阳曲县| 墨江| 荔波县| 永兴县| 瓦房店市| 新绛县| 湘潭市| 乌拉特前旗| 泾阳县|