plsql設置快捷語句:plsql注釋快捷鍵設置

一、什麼是PL/SQL,它包含什麼內容

PL/SQL是過程語言與結構化產村語言(SQL)結合而成的編程語言

1.包含:

①變數和類型

②控制語句

③子程序和函數

④對象類型和方法

二、PL/SQL體系結構及執行流程

1.將PL/SQL塊送給oracle伺服器

2.oracle伺服器啟動PL/SQL引擎

3.oracle過程語句 發送給 過程語句執行器

4.執行過程語句

5.引擎將 SQL語句 發送給 SQL語句執行器

6.執行SQL語句

7.將結果發送給客戶

三、關於PL/SQL塊

PL/SQL塊是構成PL/SQL程序的基本單元,將邏輯上相關的聲明和語句合在一起

1.PL/SQL分為三個部分:

①聲明部分

②課執行部分

③異常處理部分

語法:

[declare

declarations]

begin

executable statements

[exception

handlers]

end;

例如:設置變數v_name,利用程序包輸出同學們上午好

(||為連接符,等價於字元串中的+,:=為賦值,dbms_output,put_line為輸出語句)

declare

v_name varchar2(10):=’同學們’;

begin

dbms_output.put_line(v_name || ‘上午好’);

end;

四、變數和常量的聲明

語法:variable_name [cinstant] date_type[(size)] [:=init_value];

示例:constant 常量 date_type 數值類型

declare

v_name varchar2(20) :=’施敬超’; —姓名

v_sal number default 10000; —月收入

c_rate constant number(4,3):=0.037; —年利率

v_income number(10,3); —一年利息收入

begin

—執行部分

end;

五、常用數據類型

1.標量類型:

數字、字元、布爾值、日期時間

2.屬性類型:

%type、%rowtype

%type 以表中的欄位類型作為數據類型

v_列名 表名.列名%type

%rowtype用於接收單條記錄,每列類型以行內數據為準,常用與循環遍歷時使用

v_表名_record 表名%rowtype;

六、賦值語句

teacher.tname%type 以teacher表中的tname欄位類型作為數據類型

select tname,sal into v_name,v_sal

吧查詢到的tname和sal分別賦值給變數v_name,v_sal

示例:

declare

v_name teacher.tname%type;

v_sal teacher.sal%type;

begin

select tname,sal into v_name,v_sal from teacher where tno=1004;

dbms_output.putline(v_name || ‘的月工資為:’ || v_sal);

end;

七、控制結構

1.條件控制:if語句、case語句

①if語法:

if<布爾表達式> then

PL/SQL和SQL語句

elsif <布爾表達式> then

其他語句

else

其他語句

end if;

②case語法:

case 條件表達式

when 結構1 then

語句段1

when 結果2 then

語句段2

else

語句段

end case;

2.循環控制:loop循環、while循環、for循環

①loop語法:

lopp

要執行的語句

exit when<條件語句>

end loop;

②while語法:

while <布爾表達式> loop

要執行的語句

end loop;

③for語法:

for 循環計數器 in [reverse] 下限上限 loop

要執行的語句

end loop;

3.順序控制:null語句、goto語句

八、什麼時游標

游標時系統為用戶開設的一個數據緩衝區,用於存放SQL 語句的執行結果(即臨時結果集resultset)

每個游標區都有一個名字供用戶可以通過游標逐一獲取記錄

九、為什麼使用游標

由於SQL語句的結果集為數據模型,而程序設計語言為對象模型

例如JAVA只能接收單個變數或一條記錄,而無法接收結果集,所以採用變數》記錄》對象的形式轉換傳遞

步驟:

執行SQL語句》得到結果集放到游標》循環遍歷游標區》記錄一條條傳給JAVA對象

十、游標的分類

游標類型分為:靜態游標和動態游標

1.靜態游標:

在編譯時知道其select語句的游標

2.動態游標:

運行的時候動態決定執行何種查詢

十一、游標的使用

1.聲明游標:

語法:CURSOR cursor_name is query_sql;

2.打開游標:

語法:OPEN cursor_name;

3.提取游標:

使用fetcm語句實現對游標內容的讀取

variable_list必須與從游標提取的結果集類型相同

fetcm cursor_name into variable_list;

3.關閉游標:

使用close語句關閉一個游標,關閉游標後,所有資源都將被釋放

close cursor_name;

十二、游標屬性

%found

用於檢測游標是否成功,通常在fetcm語句之前使用,當游標按照查詢出一條記錄時,返回true

%isopen

判斷是否處於打開狀態,試圖打開一個已經打開或已經關閉的游標麻將會出出現錯誤

%notfound

與%found的作用相反,當按照條件無法查詢帶記錄時,返回true

%rowcount

循環執行游標讀取數據時,返回檢索出的記錄數據的行數

十三、動態和靜態SQL

1.什麼時靜態SQL:

需要在編寫PL/SQL程序時就確定的SQL語句

2.什麼是動態SQL:

在PL/SQL程序執行時生成的SQL語句

DDL 語句命令和會話控制語句不能在PL/SQL中直接使用,但是可以通過動態SQL來執行

編譯程序對動態SQL不做處理,而是在程序運行時動態構造語句,對語句進行語法分析並執行

十四、動態SQL實現

方法1:本地動態SQL

execute immediate 語句執行

語法:

execute immediate dynamic_sql_string

[into define_variable_list]

[using bind_argument_list];

dynamic_sql_string 是動態SQL語句字元串

into 子句用於接收select語句選擇的記錄值

using 子句用於綁定輸入參數變數

通過游標實現

語法:

TYPE type_cursor id ref CURSOR

[RETURN return_type];

cursor_name type_cursor;

OPEN cursor_name FOR dynamic_sql_string

[USING bind_argument_list];

dynamic_sql_string 是動態SQL語句字元串

USING 子句用於綁定輸入參數變數

方法2:DBMS_SQL程序包

通過DBMS_SQL程序包實現步驟

①將要執行的SQL語句或一個語句塊放到一個字元串變數中

②打開游標

③使用DBMS_SQL包的parse過程來分析該字元串

④使用DBMS_SQL包的bind_variable過程來綁定變數

⑤使用DBMS_SQL包的execute函數來執行語句

⑥關閉游標

十五、什麼是PL/SQL異常處理

在運行程序時出現的錯誤叫做異常

發生異常後,語句將停止執行,控制權轉移到PL/SQL塊的異常處理部分

其中,異常分類包括:

①預定義異常

語法:

BEGIN

sequence_of_statements;

EXCEPTION

WHEN <exception_name> THEN

sequence_of_statements;

WHEN OTHERS THEN

sequence_of_statements;

END;

示例:

BEGIN

update teacher t set t.comm=100/0;

EXCEPTION

WHEN ZERO_DIVIDE THEN dbms_output.put_line(‘除數為0’);

WHEN OTHERS THEN dbms_output.put_line(‘其他異常’);

END;

用戶定義異常

聲明異常:

BEGIN

RAISE e_exceptionName;

處理異常:

EXCEPTION

WHEN <exception_name> THEN

sequence_of_statements;

WHEN OTHERS THEN

sequence_of_statements;

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/223090.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:14
下一篇 2024-12-09 14:14

相關推薦

發表回復

登錄後才能評論