• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            將SQL嵌入到高級(jí)語言中混合編程,程序中會(huì)含有兩種不同計(jì)算模型的語句:
             (1)SQL語句:描述性的面向集合的語句;負(fù)責(zé)操縱數(shù)據(jù)庫(kù)
             (2)高級(jí)語言語句:過程性的面向記錄的語句;負(fù)責(zé)控制程序流程。
            工作單元之間的通信方式:
             1. SQL通信區(qū):向主語言傳遞SQL語句的執(zhí)行狀態(tài)信息;主語言能夠據(jù)此控制程序流程
             2. 主變量:
              (1)主語言向SQL語句提供參數(shù)。
              (2)將SQL語句查詢數(shù)據(jù)庫(kù)的結(jié)果交主語言進(jìn)一步處理。
             3. 游標(biāo):解決集合性操作語言與過程性操作語言的不匹配。
            一、SQL通信區(qū)
              SQLCA: SQL Communication Area。SQLCA是一個(gè)數(shù)據(jù)結(jié)構(gòu)
              SQLCA的用途:
              SQL語句執(zhí)行后,DBMS反饋給應(yīng)用程序信息
               (1)描述系統(tǒng)當(dāng)前工作狀態(tài)
               (2)描述運(yùn)行環(huán)境
              這些信息將送到SQL通信區(qū)SQLCA中,應(yīng)用程序從SQLCA中取出這些狀態(tài)信息,據(jù)此
              決定接下來執(zhí)行的語句。
              SQLCA的使用方法:
               用EXEC SQL INCLUDE SQLCA加以定義。SQLCA中有一個(gè)存放每次執(zhí)行SQL語句后返回
               代碼的變量SQLCODE。如果SQLCODE等于預(yù)定義的量SUCCESS,則表示SQL語句成功,
               否則表示出錯(cuò);應(yīng)用程序每執(zhí)行完一條SQL 語句之后都應(yīng)該測(cè)試一下SQLCODE的值,
               以了解該SQL語句執(zhí)行情況并做相應(yīng)處理。
              例:在執(zhí)行刪除語句DELETE后,不同的執(zhí)行情況,SQLCA中有不同的信息:
                    違反數(shù)據(jù)保護(hù)規(guī)則,操作拒絕
                    沒有滿足條件的行,一行也沒有刪除
                    成功刪除,并有刪除的行數(shù)
                    無條件刪除警告信息
                    由于各種原因,執(zhí)行出錯(cuò)
            二、主變量
              嵌入式SQL語句中可以使用主語言的程序變量來輸入或輸出數(shù)據(jù)。在SQL語句中使用的
              主語言程序變量簡(jiǎn)稱為主變量(Host Variable)。
              主變量的類型:
               輸入主變量:由應(yīng)用程序?qū)ζ滟x值,SQL語句引用。
               輸出主變量:由SQL語句賦值或設(shè)置狀態(tài)信息,返回給應(yīng)用程序。
              一個(gè)主變量有可能既是輸入主變量又是輸出主變量。
              一個(gè)主變量可以附帶一個(gè)指示變量(Indicator Variable)
              指示變量一個(gè)整型變量,用來“指示”所指主變量的值或條件。
              指示變量的用途:輸入主變量可以利用指示變量賦空值;輸出主變量可以利用指示
              變量檢測(cè)出是否空值,值是否被截?cái)?br>  在SQL語句中使用主變量和指示變量的方法
               (1) 說明主變量和指示變量
                     BEGIN DECLARE SECTION
                     .........
                     ......... (說明主變量和指示變量)
                     .........
                     END DECLARE SECTION
              
             (2) 使用主變量
                說明之后的主變量可以在SQL語句中任何一個(gè)能夠使用表達(dá)式的地方出現(xiàn)
                為了與數(shù)據(jù)庫(kù)對(duì)象名(表名、視圖名、列名等)區(qū)別,SQL語句中的主變
                量名前要加冒號(hào)(:)作為標(biāo)志。
              (3) 使用指示變量
                指示變量前也必須加冒號(hào)標(biāo)志
                必須緊跟在所指主變量之后
                在SQL語句之外(主語言語句中)使用主變量和指示變量的方法:
                可以直接引用,不必加冒號(hào)。
            三、游標(biāo)(cursor)
              游標(biāo)是系統(tǒng)為用戶開設(shè)的一個(gè)數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。每個(gè)游標(biāo)區(qū)都有
              一個(gè)名字,用戶可以用游標(biāo)逐一獲取記錄,并賦給主變量,交由主語言進(jìn)一步處理。
              為什么要使用游標(biāo):
               SQL語言與主語言具有不同數(shù)據(jù)處理方式
               SQL語言是面向集合的,一條SQL語句原則上可以產(chǎn)生或處理多條記錄
              主語言是面向記錄的,一組主變量一次只能存放一條記錄,僅使用主變量并不能完全
              滿足SQL語句向應(yīng)用程序輸出數(shù)據(jù)的要求。
              嵌入式SQL引入了游標(biāo)的概念,用來協(xié)調(diào)這兩種不同的處理方式
            亚洲综合熟女久久久30p| 久久久久久曰本AV免费免费| 99国产精品久久| 91精品国产高清久久久久久io | 91精品国产综合久久久久久| 久久91精品国产91久久麻豆| 久久综合伊人77777麻豆| 久久偷看各类wc女厕嘘嘘| 久久精品视屏| 国产亚洲欧美成人久久片| 久久久久亚洲AV无码专区桃色| 久久久久女人精品毛片| 久久精品国产亚洲AV久| 97久久香蕉国产线看观看| 久久久久99精品成人片| 久久综合给合久久国产免费| 国产香蕉97碰碰久久人人| 久久精品9988| 伊人久久大香线蕉av不卡| 国产午夜精品理论片久久| 国内精品久久久久影院日本| 久久久一本精品99久久精品66| 久久亚洲中文字幕精品一区| 亚洲欧美精品伊人久久| 热久久国产精品| 国产亚洲色婷婷久久99精品91| 狠狠精品久久久无码中文字幕| 久久天天躁狠狠躁夜夜不卡| 99久久亚洲综合精品网站| 午夜精品久久久久久99热| 嫩草伊人久久精品少妇AV| 亚洲欧美日韩精品久久亚洲区| 午夜精品久久久久久影视777| 久久夜色精品国产www| 91精品久久久久久无码| 国产精品久久久久9999| 精品国产91久久久久久久| av无码久久久久不卡免费网站 | 国内精品伊人久久久影院| 亚洲精品乱码久久久久久按摩 | 色老头网站久久网|