婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle PL/SQL語言入門基礎

Oracle PL/SQL語言入門基礎

熱門標簽:百變地圖標注 廣州市400電話辦理 宜賓外呼系統廠家 語音電話機器人營銷方案 地圖標注原件 南通防封外呼系統運營商 修改高德地圖標注 淮安自動外呼系統開發 語音電話機器人缺點
正在看的ORACLE教程是:Oracle PL/SQL語言入門基礎。

PL/SQL是ORACLE對標準數據庫語言的擴展,ORACLE公司已經將PL/SQL整合到ORACLE 服務器和其他工具中了,近幾年中更多的開發人員和DBA開始使用PL/SQL,本文將講述PL/SQL基礎語法,結構和組件、以及如何設計并執行一個PL/SQL程序。

  PL/SQL的優點

  從版本6開始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的優點以及其獨有的數據管理的便利性,那么你很難想象ORACLE缺了PL/SQL的情形。PL/SQL 不是一個獨立的產品,他是一個整合到ORACLE服務器和ORACLE工具中的技術,可以把PL/SQL看作ORACLE服務器內的一個引擎,sql語句執行者處理單個的sql語句,PL/SQL引擎處理PL/SQL程序塊。當PL/SQL程序塊在PL/SQL引擎處理時,ORACLE服務器中的SQL語句執行器處理pl/sql程序塊中的SQL語句。

  PL/SQL的優點如下:

  . PL/SQL是一種高性能的基于事務處理的語言,能運行在任何ORACLE環境中,支持所有數據處理命令。通過使用PL/SQL程序單元處理SQL的數據定義和數據控制元素。

  . PL/SQL支持所有SQL數據類型和所有SQL函數,同時支持所有ORACLE對象類型

  . PL/SQL塊可以被命名和存儲在ORACLE服務器中,同時也能被其他的PL/SQL程序或SQL命令調用,任何客戶/服務器工具都能訪問PL/SQL程序,具有很好的可重用性。

  . 可以使用ORACLE數據工具管理存儲在服務器中的PL/SQL程序的安全性。可以授權或撤銷數據庫其他用戶訪問PL/SQL程序的能力。

  . PL/SQL代碼可以使用任何ASCII文本編輯器編寫,所以對任何ORACLE能夠運行的操作系統都是非常便利的

  . 對于SQL,ORACLE必須在同一時間處理每一條SQL語句,在網絡環境下這就意味作每一個獨立的調用都必須被oracle服務器處理,這就占用大量的服務器時間,同時導致網絡擁擠。而PL/SQL是以整個語句塊發給服務器,這就降低了網絡擁擠。

  PL/SQL塊結構

  PL/SQL是一種塊結構的語言,組成PL/SQL程序的單元是邏輯塊,一個PL/SQL 程序包含了一個或多個邏輯塊,每個塊都可以劃分為三個部分。與其他語言相同,變量在使用之前必須聲明,PL/SQL提供了獨立的專門用于處理異常的部分,下面描述了PL/SQL塊的不同部分:

  聲明部分(Declaration section)

  聲明部分包含了變量和常量的數據類型和初始值。這個部分是由關鍵字DECLARE開始,如果不需要聲明變量或常量,那么可以忽略這一部分;需要說明的是游標的聲明也在這一部分。

  執行部分(Executable section)

  執行部分是PL/SQL塊中的指令部分,由關鍵字BEGIN開始,所有的可執行語句都放在這一部分,其他的PL/SQL塊也可以放在這一部分。

  異常處理部分(Exception section)

  這一部分是可選的,在這一部分中處理異常或錯誤,對異常處理的詳細討論我們在后面進行。

  PL/SQL塊語法


  PL/SQL塊中的每一條語句都必須以分號結束,SQL語句可以使多行的,但分號表示該語句的結束。一行中可以有多條SQL語句,他們之間以分號分隔。每一個PL/SQL塊由BEGIN或DECLARE開始,以END結束。注釋由--標示。

  PL/SQL塊的命名和匿名

  PL/SQL程序塊可以是一個命名的程序塊也可以是一個匿名程序塊。匿名程序塊可以用在服務器端也可以用在客戶端。

  命名程序塊可以出現在其他PL/SQL程序塊的聲明部分,這方面比較明顯的是子程序,子程序可以在執行部分引用,也可以在異常處理部分引用。

  PL/SQL程序塊可背獨立編譯并存儲在數據庫中,任何與數據庫相連接的應用程序都可以訪問這些存儲的PL/SQL程序塊。ORACLE提供了四種類型的可存儲的程序:

   . 函數

   . 過程

   . 包

   . 觸發器

  函數

  函數是命名了的、存儲在數據庫中的PL/SQL程序塊。函數接受零個或多個輸入參數,有一個返回值,返回值的數據類型在創建函數時定義。定義函數的語法如下:


  過程

  存儲過程是一個PL/SQL程序塊,接受零個或多個參數作為輸入(INPUT)或輸出(OUTPUT)、或既作輸入又作輸出(INOUT),與函數不同,存儲過程沒有返回值,存儲過程不能由SQL語句直接使用,只能通過EXECUT命令或PL/SQL程序塊內部調用,定義存儲過程的語法如下:


  包(package)

  包其實就是被組合在一起的相關對象的集合,當包中任何函數或存儲過程被調用,包就被加載入內存中,包中的任何函數或存儲過程的子程序訪問速度將大大加快。
包由兩個部分組成:規范和包主體(body),規范描述變量、常量、游標、和子程序,包體完全定義子程序和游標。

  觸發器(trigger)

  觸發器與一個表或數據庫事件聯系在一起的,當一個觸發器事件發生時,定義在表上的觸發器被觸發。

[NextPage]

 變量和常量

  變量存放在內存中以獲得值,能被PL/SQL塊引用。你可以把變量想象成一個可儲藏東西的容器,容器內的東西是可以改變的。

  聲明變量

  變量一般都在PL/SQL塊的聲明部分聲明,PL/SQL是一種強壯的類型語言,這就是說在引用變量前必須首先聲明,要在執行或異常處理部分使用變量,那么變量必須首先在聲明部分進行聲明。

  聲明變量的語法如下:


  注意:可以在聲明變量的同時給變量強制性的加上NOT NULL約束條件,此時變量在初始化時必須賦值。

  給變量賦值

  給變量賦值有兩種方式:

  . 直接給變量賦值

   X:=200;
   Y=Y+(X*20);

  . 通過SQL SELECT INTO 或FETCH INTO給變量賦值

SELECT SUM(SALARY),SUM(SALARY*0.1)
INTO TOTAL_SALARY,TATAL_COMMISSION
FROM EMPLOYEE
WHERE DEPT=10;

  常量

  常量與變量相似,但常量的值在程序內部不能改變,常量的值在定義時賦予,,他的聲明方式與變量相似,但必須包括關鍵字CONSTANT。常量和變量都可被定義為SQL和用戶定義的數據類型。


  這個語句定了一個名叫ZERO_VALUE、數據類型是NUMBER、值為0的常量。

  標量(scalar)數據類型

  標量(scalar)數據類型沒有內部組件,他們大致可分為以下四類:

   . number
   . character
   . date/time
   . boolean

  表1顯示了數字數據類型;表2顯示了字符數據類型;表3顯示了日期和布爾數據類型。

  表1 Scalar Types:Numeric

  表2 字符數據類型 

  表3 DATE和BOOLEAN

  LOB數據類型

  LOB(大對象,Large object) 數據類型用于存儲類似圖像,聲音這樣的大型數據對象,LOB數據對象可以是二進制數據也可以是字符數據,其最大長度不超過4G。LOB數據類型支持任意訪問方式,LONG只支持順序訪問方式。LOB存儲在一個單獨的位置上,同時一個"LOB定位符"(LOB locator)存儲在原始的表中,該定位符是一個指向實際數據的指針。在PL/SQL中操作LOB數據對象使用ORACLE提供的包DBMS_LOB.LOB數據類型可分為以下四類:

  . BFILE
  . BLOB
  . CLOB

[1] [2] 下一頁

正在看的ORACLE教程是:Oracle PL/SQL語言入門基礎。  . NCLOB

  操作符

  與其他程序設計語言相同,PL/SQL有一系列操作符。操作符分為下面幾類:

  . 算術操作符

  . 關系操作符

  . 比較操作符

  . 邏輯操作符

  算術操作符如表4所示


  關系操作符主要用于條件判斷語句或用于where子串中,關系操作符檢查條件和結果是否為true或false,表5是PL/SQL中的關系操作符


  表6 顯示的是比較操作符

  表7.8顯示的是邏輯操作符

  執行部分

  執行部分包含了所有的語句和表達式,執行部分以關鍵字BEGIN開始,以關鍵字EXCEPTION結束,如果EXCEPTION不存在,那么將以關鍵字END結束。分號分隔每一條語句,使用賦值操作符:=或SELECT INTO或FETCH INTO給每個變量賦值,執行部分的錯誤將在異常處理部分解決,在執行部分中可以使用另一個PL/SQL程序塊,這種程序塊被稱為嵌套塊

  所有的SQL數據操作語句都可以用于執行部分,PL/SQL塊不能再屏幕上顯示SELECT語句的輸出。SELECT語句必須包括一個INTO子串或者是游標的一部分,執行部分使用的變量和常量必須首先在聲明部分聲明,執行部分必須至少包括一條可執行語句,NULL是一條合法的可執行語句,事物控制語句COMMIT和ROLLBACK可以在執行部分使用,數據定義語言(Data Definition language)不能在執行部分中使用,DDL語句與EXECUTE IMMEDIATE一起使用或者是DBMS_SQL調用。

  執行一個PL/SQL塊

  SQL*PLUS中匿名的PL/SQL塊的執行是在PL/SQL塊后輸入/來執行,如下面的例子所示:


  命名的程序與匿名程序的執行不同,執行命名的程序塊必須使用execute關鍵字:



  如果在另一個命名程序塊或匿名程序塊中執行這個程序,那么就不需要EXECUTE關進字。

[NextPage]

控制結構

  控制結構控制PL/SQL程序流程的代碼行,PL/SQL支持條件控制和循環控制結構。

  語法和用途

   IF..THEN

  語法:


  IF語句判斷條件condition是否為TRUE,如果是,則執行THEN后面的語句,如果condition為false或NULL則跳過THEN到END IF之間的語句,執行END IF后面的語句。

  IF..THEN...ELSE

  語法:


  如果條件condition為TRUE,則執行THEN到ELSE之間的語句,否則執行ELSE到END IF之間的語句。

  IF 可以嵌套,可以在IF 或IF ..ELSE語句中使用IF或IF..ELSE語句。


  IF..THEN..ELSIF

  語法:


  如果條件condition1為TRUE則執行statement1,然后執行statement5,否則判斷condition2是否為TRUE,若為TRUE則執行statement2,然后執行statement5,對于condition3也是相同的,如果condition1,condition2,condition3都不成立,那么將執行statement4,然后執行statement5。

  循環控制

  循環控制的基本形式是LOOP語句,LOOP和END LOOP之間的語句將無限次的執行。LOOP語句的語法如下:

  LOOP 
   statements;
  END LOOP

  LOOP和END LOOP之間的語句無限次的執行顯然是不行的,那么在使用LOOP語句時必須使用EXIT語句,強制循環結束,例如:


  此時Y的值是1010.

  EXIT WHEN語句將結束循環,如果條件為TRUE,則結束循環。


  WHILE..LOOP

  WHILE..LOOP有一個條件與循環相聯系,如果條件為TRUE,則執行循環體內的語句,如果結果為FALSE,則結束循環。


  FOR...LOOP

  語法:


  LOOP和WHILE循環的循環次數都是不確定的,FOR循環的循環次數是固定的,counter是一個隱式聲明的變量,他的初始值是start_range,第二個值是start_range+1,直到end_range,如果start_range等于end _range,那么循環將執行一次。如果使用了REVERSE關鍵字,那么范圍將是一個降序。


  如果要退出for循環可以使用EXIT語句。

  標簽

  用戶可以使用標簽使程序獲得更好的可讀性。程序塊或循環都可以被標記。標簽的形式是>。

  標記程序塊


  標記循環


  GOTO語句

  語法:

  GOTO LABEL;

  執行GOTO語句時,控制會立即轉到由標簽標記的語句。PL/SQL中對GOTO語句有一些限制,對于塊、循環、IF語句而言,從外層跳轉到內層是非法的。


  注意:NULL是一個合法的可執行語句。

  嵌套

  程序塊的內部可以有另一個程序塊這種情況稱為嵌套。嵌套要注意的是變量,定義在最外部程序塊中的變量可以在所有子塊中使用,如果在子塊中定義了與外部程序塊變量相同的變量名,在執行子塊時將使用子塊中定義的變量。子塊中定義的變量不能被父塊引用。同樣GOTO語句不能由父塊跳轉道子塊中,反之則是合法的。


  小結

  我們在這篇文章中介紹了PL/SQL的基礎語法以及如何使用PL/SQL語言設計和運行PL/SQL程序塊,并將PL/SQL程序整合到Oracle服務器中,雖然PL/SQL程序作為功能塊嵌入Oracle數據庫中,但PL/SQL與ORACLE數據庫的緊密結合使得越來越多的Oracle數據庫管理員和開發人員開始使用PL/SQL。

上一頁     

上一頁  [1] [2] 

您可能感興趣的文章:
  • oracle復習筆記之PL/SQL程序所要了解的知識點
  • PL/SQL Dev連接Oracle彈出空白提示框的解決方法分享
  • 64位win7下pl/sql無法連接oracle解決方法
  • Oracle中PL/SQL中if語句的寫法介紹
  • Oracle中在pl/sql developer修改表的2種方法
  • ORACLE PL/SQL 觸發器編程篇介紹
  • Oracle 10G:PL/SQL正規表達式(正則表達式)手冊
  • 在Oracle PL/SQL中游標聲明中表名動態變化的方法
  • PL/SQL實現Oracle數據庫任務調度
  • Oracle PL/SQL入門案例實踐
  • Oracle PL/SQL入門慨述
  • Oracle教程之pl/sql簡介

標簽:池州 通化 襄陽 嘉峪關 南平 南平 聊城 股票投資

巨人網絡通訊聲明:本文標題《Oracle PL/SQL語言入門基礎》,本文關鍵詞  Oracle,SQL,語言,入門,基礎,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle PL/SQL語言入門基礎》相關的同類信息!
  • 本頁收集關于Oracle PL/SQL語言入門基礎的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    在线观看91精品国产麻豆| 91黄色免费网站| 91一区二区在线| 国产女人18毛片水真多成人如厕| 狠狠色丁香久久婷婷综| 欧美v日韩v国产v| 国内成+人亚洲+欧美+综合在线| 日韩亚洲欧美在线| 狠狠狠色丁香婷婷综合激情 | 偷拍与自拍一区| 欧美日韩mp4| 久久99国内精品| 国产日产精品1区| 91福利小视频| 日本成人在线视频网站| 久久久久久久综合狠狠综合| 风间由美性色一区二区三区| 亚洲丝袜制服诱惑| 欧美区视频在线观看| 国产综合久久久久影院| 亚洲日本在线天堂| 91精品国产全国免费观看| 国产一区在线视频| 亚洲另类春色国产| 精品国产网站在线观看| 色噜噜狠狠一区二区三区果冻| 视频一区二区中文字幕| 久久精品一级爱片| 欧美日韩一区二区欧美激情| 国产乱子轮精品视频| 亚洲激情校园春色| 国产日韩欧美麻豆| 欧美一级生活片| 一本大道久久精品懂色aⅴ| 韩国欧美国产1区| 亚洲一区二区在线视频| 久久久99精品免费观看不卡| 欧美视频一区二区在线观看| 国产成人精品aa毛片| 日韩电影在线观看一区| 亚洲猫色日本管| 中文字幕亚洲视频| 欧美日韩精品系列| 成人免费av网站| 韩国一区二区视频| 美女网站色91| 亚洲影视在线播放| 亚洲欧美一区二区三区久本道91| 欧美电影免费观看高清完整版在线| 色综合久久99| av电影一区二区| 粉嫩绯色av一区二区在线观看 | 亚洲成av人片在线观看| 中文字幕欧美激情| 久久九九影视网| 精品国产伦理网| 日韩视频一区二区三区在线播放 | 在线观看国产精品网站| 成人av免费在线观看| 国产成人亚洲精品青草天美| 九色综合国产一区二区三区| 免费高清成人在线| 久久97超碰色| 国产在线精品一区二区三区不卡 | 亚洲国产精品99久久久久久久久| 精品久久久久久久久久久久久久久久久| 欧美日韩精品免费| 在线成人av影院| 欧美精品色综合| 欧美一级一区二区| 久久久久国产精品厨房| 国产日韩精品一区二区三区| 精品久久久三级丝袜| 国产亚洲欧美在线| 1区2区3区欧美| 亚洲成人免费视| 日日欢夜夜爽一区| 国产麻豆91精品| 91免费视频网址| 欧美精品在线一区二区| 久久夜色精品国产欧美乱极品| 久久久久久久久久久黄色| 欧美激情在线免费观看| 亚洲激情成人在线| 美女国产一区二区| 波多野结衣在线一区| 在线观看视频欧美| 精品久久久网站| 亚洲人妖av一区二区| 日韩精品91亚洲二区在线观看| 久久精品国产亚洲5555| 99精品视频一区| 欧美日韩1234| 亚洲国产精品激情在线观看| 亚洲综合另类小说| 国产成人亚洲精品青草天美| 91蜜桃网址入口| 日韩欧美国产麻豆| 亚洲色图.com| 久久97超碰国产精品超碰| 不卡电影一区二区三区| 日韩一级片网站| 中文字幕日本乱码精品影院| 精品在线播放免费| 欧美视频在线观看一区二区| 欧美精品一区二区三区在线| 一区二区三区精品视频| 国产成人亚洲综合a∨猫咪| 欧美日韩一区二区三区四区五区| 国产精品网站导航| 麻豆国产精品一区二区三区| 午夜精品一区二区三区免费视频| 亚洲五月六月丁香激情| 国产成人综合在线播放| 欧美三级欧美一级| 国产精品免费视频观看| 精品一区二区三区日韩| 欧美色区777第一页| 中文字幕乱码久久午夜不卡 | 日本欧美一区二区| proumb性欧美在线观看| 久久奇米777| 久久精品国产精品青草| 88在线观看91蜜桃国自产| 亚洲精品乱码久久久久久黑人| 国产精品乡下勾搭老头1| 日韩视频免费直播| 美女脱光内衣内裤视频久久网站| 欧美日韩亚洲综合一区 | 亚洲一区二区三区美女| 91丨九色丨黑人外教| 中文字幕一区二区三区四区不卡| 国产在线不卡一卡二卡三卡四卡| 日韩欧美国产一二三区| 日本人妖一区二区| 91精品婷婷国产综合久久性色 | 美女一区二区在线观看| 在线不卡免费av| 亚洲国产综合色| 欧美日韩中字一区| 日韩在线一区二区三区| 欧美一区二区啪啪| 美女免费视频一区| 精品国产91久久久久久久妲己| 极品美女销魂一区二区三区免费 | 亚洲精品精品亚洲| 日韩精品自拍偷拍| 国产一区999| 日本一区二区电影| 色94色欧美sute亚洲13| 亚洲成人一区在线| 日韩午夜中文字幕| 国产成人午夜视频| 亚洲一区二区综合| 精品国产一区二区三区久久久蜜月| 国产精品一品二品| 亚洲免费在线视频一区 二区| 欧美日韩性生活| 国产美女精品在线| 亚洲精品视频在线| 欧美成人性战久久| 91小视频免费看| 日韩电影免费在线看| 久久精子c满五个校花| 97久久精品人人爽人人爽蜜臀| 亚洲成av人片在线| 国产欧美中文在线| 欧美视频三区在线播放| 九色|91porny| 亚洲专区一二三| 久久色.com| 欧美丝袜自拍制服另类| 岛国精品在线观看| 日韩电影一区二区三区四区| 国产网红主播福利一区二区| 欧美最猛性xxxxx直播| 韩国女主播成人在线| 亚洲欧美日韩成人高清在线一区| 在线成人高清不卡| 日本不卡视频在线观看| 亚洲欧洲制服丝袜| 国产日韩欧美精品在线| 欧美一级一区二区| 欧美日韩在线播放一区| 成人av第一页| 久久爱www久久做| 午夜久久久久久电影| 亚洲欧洲一区二区在线播放| 久久香蕉国产线看观看99| 欧美伊人久久久久久久久影院| 懂色av噜噜一区二区三区av| 麻豆一区二区99久久久久| 亚洲成人av电影在线| 亚洲靠逼com| |精品福利一区二区三区| 国产情人综合久久777777| 91精品国产高清一区二区三区| 色哟哟一区二区在线观看| 91在线观看视频| a级高清视频欧美日韩|