• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            嵌入式SQL與主語言的通信

            Posted on 2008-09-10 09:52 Prayer 閱讀(1218) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫,SQLC/C++
            將SQL嵌入到高級語言中混合編程,程序中會含有兩種不同計算模型的語句:
             (1)SQL語句:描述性的面向集合的語句;負責操縱數據庫
             (2)高級語言語句:過程性的面向記錄的語句;負責控制程序流程。
            工作單元之間的通信方式:
             1. SQL通信區:向主語言傳遞SQL語句的執行狀態信息;主語言能夠據此控制程序流程
             2. 主變量:
              (1)主語言向SQL語句提供參數。
              (2)將SQL語句查詢數據庫的結果交主語言進一步處理。
             3. 游標:解決集合性操作語言與過程性操作語言的不匹配。
            一、SQL通信區
              SQLCA: SQL Communication Area。SQLCA是一個數據結構
              SQLCA的用途:
              SQL語句執行后,DBMS反饋給應用程序信息
               (1)描述系統當前工作狀態
               (2)描述運行環境
              這些信息將送到SQL通信區SQLCA中,應用程序從SQLCA中取出這些狀態信息,據此
              決定接下來執行的語句。
              SQLCA的使用方法:
               用EXEC SQL INCLUDE SQLCA加以定義。SQLCA中有一個存放每次執行SQL語句后返回
               代碼的變量SQLCODE。如果SQLCODE等于預定義的量SUCCESS,則表示SQL語句成功,
               否則表示出錯;應用程序每執行完一條SQL 語句之后都應該測試一下SQLCODE的值,
               以了解該SQL語句執行情況并做相應處理。
              例:在執行刪除語句DELETE后,不同的執行情況,SQLCA中有不同的信息:
                    違反數據保護規則,操作拒絕
                    沒有滿足條件的行,一行也沒有刪除
                    成功刪除,并有刪除的行數
                    無條件刪除警告信息
                    由于各種原因,執行出錯
            二、主變量
              嵌入式SQL語句中可以使用主語言的程序變量來輸入或輸出數據。在SQL語句中使用的
              主語言程序變量簡稱為主變量(Host Variable)。
              主變量的類型:
               輸入主變量:由應用程序對其賦值,SQL語句引用。
               輸出主變量:由SQL語句賦值或設置狀態信息,返回給應用程序。
              一個主變量有可能既是輸入主變量又是輸出主變量。
              一個主變量可以附帶一個指示變量(Indicator Variable)
              指示變量一個整型變量,用來“指示”所指主變量的值或條件。
              指示變量的用途:輸入主變量可以利用指示變量賦空值;輸出主變量可以利用指示
              變量檢測出是否空值,值是否被截斷
              在SQL語句中使用主變量和指示變量的方法
               (1) 說明主變量和指示變量
                     BEGIN DECLARE SECTION
                     .........
                     ......... (說明主變量和指示變量)
                     .........
                     END DECLARE SECTION
              
             (2) 使用主變量
                說明之后的主變量可以在SQL語句中任何一個能夠使用表達式的地方出現
                為了與數據庫對象名(表名、視圖名、列名等)區別,SQL語句中的主變
                量名前要加冒號(:)作為標志。
              (3) 使用指示變量
                指示變量前也必須加冒號標志
                必須緊跟在所指主變量之后
                在SQL語句之外(主語言語句中)使用主變量和指示變量的方法:
                可以直接引用,不必加冒號。
            三、游標(cursor)
              游標是系統為用戶開設的一個數據緩沖區,存放SQL語句的執行結果。每個游標區都有
              一個名字,用戶可以用游標逐一獲取記錄,并賦給主變量,交由主語言進一步處理。
              為什么要使用游標:
               SQL語言與主語言具有不同數據處理方式
               SQL語言是面向集合的,一條SQL語句原則上可以產生或處理多條記錄
              主語言是面向記錄的,一組主變量一次只能存放一條記錄,僅使用主變量并不能完全
              滿足SQL語句向應用程序輸出數據的要求。
              嵌入式SQL引入了游標的概念,用來協調這兩種不同的處理方式
            久久精品国产亚洲AV蜜臀色欲| 色综合合久久天天综合绕视看| 久久国产成人精品国产成人亚洲| 久久精品无码专区免费| 欧美国产成人久久精品| 久久超碰97人人做人人爱| 欧美久久久久久精选9999| 亚洲国产精品无码久久久不卡| 91超碰碰碰碰久久久久久综合| 久久人妻无码中文字幕| 久久精品国产亚洲av瑜伽| 久久综合久久自在自线精品自| 久久久中文字幕日本| 国内精品久久久久影院日本 | 狠狠色噜噜狠狠狠狠狠色综合久久| 国内精品伊人久久久久影院对白| 久久久久成人精品无码中文字幕| 无夜精品久久久久久| 久久97久久97精品免视看| 性欧美大战久久久久久久久| 久久香蕉国产线看观看猫咪?v| 国产精品99久久免费观看| 亚洲欧美日韩久久精品第一区| 伊人热热久久原色播放www | 久久综合亚洲色HEZYO国产| 久久精品免费一区二区三区| 久久亚洲私人国产精品| 亚洲精品无码久久久久sm| 国产精品中文久久久久久久| 亚洲国产成人精品女人久久久| 久久久久久久国产免费看| 日本一区精品久久久久影院| 日韩一区二区三区视频久久| 亚洲国产精品综合久久网络| 久久只有这里有精品4| 久久ww精品w免费人成| 久久精品九九亚洲精品天堂| 国产精品久久精品| 超级碰久久免费公开视频| 久久国产精品波多野结衣AV| 97久久精品无码一区二区天美|