<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實的筆,記錄編程路上的點點滴滴………
    posts - 536,comments - 394,trackbacks - 0

    DECLARE

    Name

    DECLARE — 為訪問表定義一個游標
    DECLARE cursorname [ BINARY ] [ INSENSITIVE ] [ SCROLL ]
        CURSOR FOR query
        [ FOR { READ ONLY | UPDATE [ OF column [, ...] ] ]
      

    輸入

    cursorname

    將在隨后 FETCH 操作中使用的游標名.

    BINARY

    令游標以二進制而不是文本格式獲取數據.

    INSENSITIVE

    SQL92 SQL92 關鍵字, 表明從游標檢索出來的數據不應該被其他進程或游標的更新動作影響. 因為在 Postgres 里,游標的操作總是發生在事務 里,所以總是符合上面描述.這個關鍵字沒有作用.

    SCROLL

    SQL92 關鍵字,表明每個 FETCH 操作可以檢索出多行數據. 因為在Postgres 在任何情況下都允許這樣, 所以這個關鍵字沒有作用.

    query

    一個 SQL 查詢,它提供由游標控制的行. 請參考 SELECT 語句獲取有關有效參數的詳細信息.

    READ ONLY

    SQL92 關鍵字,表明游標將用于只讀模式. 因為這是 Postgres 唯一的游標訪問模式, 所以該關鍵字沒有作用.

    UPDATE

    SQL92 關鍵字,表明游標將被用于更新表. 因為游標更新目前還不被 Postgres 支持, 所以這個關鍵字將產生一個錯誤信息.

    column

    將被更新的列.因為游標更新目前不被 Postgres 支持, 所以 UPDATE 子句將產生一個錯誤信息.

    輸出

    SELECT

    如果 SELECT 成功運行,返回此信息.

    NOTICE: Closing pre-existing portal "cursorname"

    如果在當前的事務塊中此游標名稱已經定義,返回此信息. 前面定義的游標被丟棄.

    ERROR: DECLARE CURSOR may only be used in begin/end transaction blocks

    如果一個游標沒有在事務塊內部定義,返回此信息.

    描述

    DECLARE 允許用戶創建游標, 用于在一個大的查詢里面檢索少數幾行數據. 使用 FETCH. ,游標可以既可以返回文本也可以返回二進制格式。

    通常游標返回文本格式,要么是 ASCII 要么是某種由 Postgres 特定的后端決定的編碼方式. 因為數據在系統內部是用二進制格式存儲的, 系統必須對數據做一定轉換以生成文本格式. 另外,文本格式一般都比對應的二進制格式占的存儲空間大. 一旦格式轉換回文本,客戶應用需要將文本轉換為二進制格式來操作. BINARY 游標給你返回內部二進制形態的數據。

    作為例子,如果查詢從一個整數列返回一個一, 在通常的游標里你將獲得一個字符串'1'而如果是一個二進制查詢, 你將得到一個 4-字節的等于ctrl-A('^A')的數值.

    游標應該小心使用 BINARY. 一些用戶應用如 psql 是不識別二進制游標的, 而且期望返回的數據是文本格式.

    而且,字符串表示方式是與硬件體系無關的, 而二進制格式會因不同的硬件體系不同而不同,而且 Postgres 對二進制游標不做字節序解析或者其他格式轉換 。 因此,如果你的客戶機和服務器使用不同的格式 (如: "高位高字節" 和 "底位底字節").你可能就不會希望你的數據 以二進制格式返回.所以二進制游標將比文本略微快一點, 因為二進制在服務器和客戶端的數據傳輸中有較少的轉換.

    小技巧: 如果你希望用 ASCII 顯示數據, 將數據以 ASCII 模式訪問將節省客戶端的工作.

    注意

    游標只能在事務中使用.使用 BEGINCOMMITROLLBACK 定義一個事務塊。

    SQL92 中游標只能在嵌入 SQL (ESQL) 的應用中使用. Postgres 后端沒有一個明確的 OPEN cursor 語句;一個游標被認為在定義時就已經打開了. 不過,Postgres嵌入的 SQL 預編譯器, ecpg, 支持 SQL92 習慣,包括那些和 DECLARE 和 OPEN 相關的語句.

    用法

    定義一個游標:

    DECLARE liahona CURSOR
        FOR SELECT * FROM films;
       

    兼容性

    SQL92

    SQL92 只允許在嵌入的 SQL 中和模塊中使用游標. Postgres 允許交互地使用游標. SQL92 允許嵌入或模塊的游標更新數據庫信息. 所有 Postgres 的游標都是只讀的. BINARY 關鍵字是 Postgres 擴展.



    |----------------------------------------------------------------------------------------|
                               版權聲明  版權所有 @zhyiwww
                引用請注明來源 http://www.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2006-06-02 18:56 zhyiwww 閱讀(418) 評論(0)  編輯  收藏 所屬分類: database
    主站蜘蛛池模板: 性色av无码免费一区二区三区| 中国内地毛片免费高清| 日本成年免费网站| 中文字幕亚洲第一在线| 日本免费中文视频| 亚洲成人免费在线| 久久成人无码国产免费播放| 亚洲av永久无码精品表情包| 国产一区二区免费视频| 亚洲国产a∨无码中文777| 久久久久免费精品国产| 日木av无码专区亚洲av毛片| 亚洲电影在线免费观看| 久久狠狠爱亚洲综合影院| 成在人线AV无码免费| 色网站在线免费观看| 久久精品国产精品亚洲精品| 一级毛片免费播放| 激情五月亚洲色图| 国产成人啪精品视频免费网| 一级一片免费视频播放| 亚洲成AV人在线观看天堂无码| 国产人成免费视频网站| 亚洲AV无码专区在线观看成人 | 亚洲伊人久久大香线蕉综合图片| 中文在线免费视频| 亚洲中文无码av永久| 免费又黄又硬又爽大片| 免费黄色电影在线观看| 亚洲一久久久久久久久| 亚洲日韩中文在线精品第一| 亚欧免费一级毛片| 亚洲GV天堂GV无码男同| 亚洲AV无码国产丝袜在线观看| 国拍在线精品视频免费观看| 免费人成网站永久| 亚洲国产超清无码专区| 亚洲?V无码乱码国产精品| 98精品全国免费观看视频| 亚洲av日韩综合一区久热| 亚洲色四在线视频观看|