成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PL/SQL是啥?

開發 開發工具
從PL/SQL的字面上來看,它和SQL有一定的關系,那么就從SQL開始講一下它們倆兄弟之間的關系。

從PL/SQL的字面上來看,它和SQL有一定的關系,那么就從SQL開始講一下它們倆兄弟之間的關系。

編程語言

什么是SQL?

結構化查詢語言(Structured Query Language,簡稱SQL)是用來訪問關系型數據庫一種通用語言,屬于第四代語言(4GL),其執行特點是非過程化,即不用指明執行的具體方法和途徑,而是簡單地調用相應語句來直接取得結果即可。顯然,這種不關注任何實現細節的語言對于開發者來說有著極大的便利。

那什么又是PL/SQL呢?

對于有些復雜的業務流程要求相應的程序來描述,這種情況下SQL就有些無能為力了。PL/SQL的出現正是為了解決這一問題,PL/SQL是一種過程化語言,屬于第三代語言,它與C、 C++、Java等語言一樣關注于處理細節,可以用來實現比較復雜的業務邏輯。

PL/SQL(Procedural Language/SQL)是數據庫廠商在標準的SQL語言上的擴展。PL/SQL不僅允許嵌入SQL語言,還可以定義變量和常量,允許使用條件語句和循環語句,允許使用例外處理各種錯誤,這使得它的功能變得更加強大。

我們需要知道的

我們需要了解以下幾個關鍵點:

  1. 存儲過程,函數,觸發器是PL/SQL編寫的
  2. 存儲過程,函數,觸發器是存儲在數據庫中的
  3. PL/SQL是非常強大的數據庫過程語言
  4. 存儲過程,函數可以在C、 C++、Java、C#等程序中調用

PL/SQL開發工具有哪些?

首先,數據庫廠商都會自帶命令行開發工具,比如Oracle的SQL*PLUS、MySQL的MySQL Client、DB2的DB2CMD等等。

其次,會有一些集成開發環境(IDE),比較知名的有PL/SQL Developer(這個只適用Oracle數據庫)、DbVisualizer、Navicat、SQLyog、Toad等等,這些IDE都是獨立的第三方產品。其實,各數據庫廠商也有自己的IDE,不過感覺沒有特別好用的,基本上被第三方軟件壟斷,畢竟IDE不是數據庫公司的強項嘛。

我們上面說的命令行工具以及集成開發環境都可以用來編寫SQL或者PL/SQL程序,都屬于PL/SQL的開發工具。

PL/SQL的程序結構

我們來大概瀏覽一下PL/SQL的程序結構,各數據庫廠商的實現,會有所不同,下面以Oracle為例進行說明。

PL/SQL程序都是以塊(block)為基本單位,整個PL/SQL塊分三部分:聲明部分(用declare開頭)、執行部分(以 begin開頭)和異常處理部分(以exception開頭)。其中執行部分是必須的,其他兩個部分可選。無論PL/SQL程序段的代碼量有多大,其基本結構就是由這三部分組成。

程序結構模板

  1. declare 
  2.   /* 聲明區(可選):定義類型和變量、聲明變量、聲明函數、游標 */ 
  3.   begin 
  4.   /* 執行區(必須的):執行pl/sql語句或者sql語句 */ 
  5.   exception 
  6.   /* 異常處理區(可選):處理錯誤的 */ 
  7.   end; 

一個demo

  1. /*聲明部分,以declare開頭*/ 
  2. declare v_id integer; 
  3. v_name varchar(20); 
  4. cursor c_emp is select * from employee where emp_id=3
  5. /*執行部分,以begin開頭*/ 
  6. begin  open c_emp; //打開游標 
  7. loop 
  8. //從游標取數據 
  9. fetch c_emp into v_id,v_name;    
  10. exit when c_emp%notfound ; 
  11. end loop ; 
  12. //關閉游標 
  13. close c_emp;     
  14. dbms_output.put_line(v_name); 
  15. /*異常處理部分,以exception開始*/ 
  16. exception 
  17. when no_data_found then 
  18. dbms_output.put_line('沒有數據'); 
  19. end ; 

【本文為51CTO專欄作者“朱國立”的原創稿件,轉載請通過作者微信公眾號“開發者圓桌”獲取聯系和授權】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2009-07-24 10:29:29

PL SQL編程規范

2010-04-13 14:35:17

2010-04-12 08:59:00

2021-07-26 10:28:13

MySQL事務隔離

2021-10-14 21:16:47

WebSocketCTO連接

2009-06-02 10:42:31

PLSQL動態SQL

2021-08-04 13:19:42

MySQL 事務隔離

2020-06-02 07:44:04

AQS JavaNode

2010-04-08 16:55:12

Oracle proc

2009-03-26 10:46:58

OraclePL、SQL存儲過程

2010-04-27 15:22:34

Oracle proc

2010-05-05 11:17:55

Oracle數據庫

2010-10-25 15:56:02

Oracle PLSQL過程調試

2010-04-22 16:58:21

Oracle PLSQL

2009-12-29 08:58:32

Oracle SQL PL SQL單元測試

2009-03-09 16:39:19

PL SQLOracle過程調試

2021-12-17 17:50:50

RTORPO場景

2011-08-16 16:59:58

PLSQL分頁存儲過程Java

2021-09-10 08:31:19

DubboSPI框架

2022-02-17 15:46:08

數字人民幣區塊鏈
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲免费一区二区 | 久久久久国产 | 韩日精品视频 | 一区二区在线不卡 | 一区二区三区精品在线视频 | 久久久久久久综合色一本 | 韩国精品在线观看 | 欧美精品久久久 | www.亚洲一区 | 亚洲男人天堂 | 7777精品伊人久久精品影视 | 精品久久久久久久 | 欧美三级免费观看 | 精产国产伦理一二三区 | 亚洲有码转帖 | 黄色激情毛片 | 成人永久免费 | 久久久久国产精品午夜一区 | 日本精品视频一区二区 | 天天拍天天草 | 精品亚洲一区二区三区四区五区 | 大伊人久久| 亚洲视频第一页 | 一区二区三区在线播放 | 国产高清视频在线播放 | 国产精品久久久久久妇女6080 | 特一级黄色毛片 | 色综合视频 | 麻豆精品国产91久久久久久 | 91社区在线高清 | 国内精品久久精品 | 国产成人精品网站 | 欧美精品在线播放 | 日本久久精品视频 | 国产91久久久久久久免费 | 久草www| 久久久久久久久国产 | 国产精品一区二区在线播放 | 精品国产高清一区二区三区 | 狠狠av | 日本久久久久久久久 |