PL SQL的定義(一)基本結構

2021-09-30 15:11:04 字數 2594 閱讀 2028

,謝謝

sql語言不可以使用邏輯處理結構

pl/sql就將sql語言和程式語言結合在一起

在sql語言的基礎上增加了程式語言的特性,其實還有引數傳遞和sql**重用的優勢

其基本結構如下

包括了宣告部分,程式段開始,程式段結束,異常處理

宣告部分和異常部分是可選的

變數的宣告,它的有效作用域僅僅限於當前的程式塊,出了當前程式塊就沒用了

需要注意的是

declear,begin和exception後沒有分號。而end以及所有的sql語句和pl/sql語句必須以分號結束

pl/sql程式和資料庫進行通訊的時候,也需要實現資訊的儲存和傳遞

變數是定義在declare裡,具體結構如下

variable_name是變數名稱

type表示資料的變數型別

not null用中括號括起來說明他是乙個可選項,表示變數不能為空

[:=value]表示給變數賦予初值

其中,上述的&id表示接收輸入資料,執行時會彈出乙個輸入框給我們輸入資料

變數命名規則如下:

plsql中的作用域範圍是從變數宣告開始到這**塊結束

賦值變數是使用:=而不是=

也可以使用select into進行賦值

需要注意的是

小例子,根據使用者輸入id輸出庫存量

declare

v_id number:=&id;--接收使用者輸入的id

v_stock_count number;--商品庫存量

begin

select stockcount into v_stock_count from es_product

where id=v_id;

dbms_output.put_line(v_stock_count);

end;

其中也可以以列名或變數名作為字首來宣告變數

示例如下

另外我們還可以宣告某張表中一整行的資料

示例如下

**如下:

declare

v_id number := &id; --接收使用者輸入的id

v_name es_product.name%type; --商品名稱

v_price es_product.price%type; --商品**

v_saledate es_product.saledate%type; --上架時間

v_stock_count number; --商品庫存量

begin

select name, price, saledate, stockcount

into v_name, v_price, v_saledate, v_stock_count

from es_product

where id = v_id;

dbms_output.put_line(v_name||' '|| v_price||' '||v_saledate||' '||v_stock_count);

end;

另外一種寫法:

declare

v_id number := &id; --接收使用者輸入的id

v_es_pro es_product%rowtype; --表的完整行的變數

begin

select name, price, saledate, stockcount

into v_es_pro.name,

v_es_pro.price,

v_es_pro.saledate,

v_es_pro.stockcount

from es_product

where id = v_id;

dbms_output.put_line(v_es_pro.name || ' ' || v_es_pro.price || ' ' ||

v_es_pro.saledate || ' ' || v_es_pro.stockcount);

end;

PL SQL 的基本結構

基於塊結構 pl sql是塊結構語言。塊由declare,begin,exception,end關鍵字劃分,並且劃分為3個不同的區域 3個區域中,只有執行區域是必須的,其他兩個區域都是可選的 declare declaration statements begin execution stateme...

PL SQL塊的結構

1.宣告變數時,必須要指定型別 2.變數名需要先賦值,後使用 3.變數名沒有預設值 表現是空,無意義 pl sql塊的結構 declare v name varchar2 20 雨女無瓜 begin dbms output.put line v name 的第一條pl sql語句 end 與使用者互...

PL SQL 事前定義例外一覧

pl sql 用 以下 必要最低限 例外 定義 sys.standard 定義 內容 一見 例外 數 非常 少 程度 例外 定義例外 結構組 中 主 使 dup val on index no data found timeout on resource others 集中 思 以外 多 固有 例外...