匿名pl/sql語句塊
sql*plus工具
oracle資料庫,有以下幾個重要的概念:
pl/sql 語句塊基本結構:
塊頭區
is 宣告區
begin
執行區exception
異常區end
格式:
program_type program_name ([parameter_name in / out/ in out type specs, ] ....)
[return datatype]
program_type: function、procedure、package
引數分三類:in引數,表示將引數傳遞給程式單元;out引數,該引數返回給該程式的呼叫者;in out為雙向引數
specs: 可以包含關鍵字 not null
對於function,必須返回數值,函式可以在其執行部分的任意位置使用return 關鍵字;
格式:
var_name [constraint] datatype [(constraint)] [:= value];
:= 為賦值運算子
例子:
## 宣告乙個變數
var_name varchar(20
);## 宣告乙個帶約束的變數
var_name varchar(20
)not
null
;## 宣告乙個常量且賦初始值
var_name constant varchar(20
) :=
'test'
;## 宣告乙個變數且使用default關鍵字為變數賦值
var_name integer
default
3.1415926
;
即程式邏輯部分
格式:
exception
when exception_name1
then
hand error1;
when exception_name2
then
hand error2;
when others
default error handling;
例子:
create or replace function p_test(f float)
is var_name varchar2(20);
exception1 exception;
begin
statement1;
beging
statement2;
raise exception1;
exception
when exception1
then
hand error1;
end statement3;
exception
when others
error handling;
end
就是沒有塊頭區,直接從宣告區開始
例如:
declare
var_first_name varchar2(20)
; var_last_name varchar2(20)
;begin
select first_name, last_name
into var_first_name, var_last_name
from employee
where employee_id =16;
dbms_output.put_line(
'var_first_name is : '
||var_first_name )
; dbms_output.put_line(
'var_last_name is : '
||var_last_name )
;exception
when no_data_found then
dbms_output.put_line(
'no data find');
end;
dbms_output.put_line將資料庫伺服器返回的資料顯示在sql*plus上面。
也可以使用替代變數增加程式的靈活性,替代變數的符號是:「&」或「&&」,改寫上面的例子如下:
declare
var_first_name varchar2(20)
; var_last_name varchar2(20)
; var_employee_id number :=
&b_employee_id
begin
select first_name, last_name
into var_first_name, var_last_name
from employee
where employee_id = var_employee_id;
dbms_output.put_line(
'var_first_name is : '
||var_first_name )
; dbms_output.put_line(
'var_last_name is : '
||var_last_name )
;exception
when no_data_found then
dbms_output.put_line(
'no data find');
end;
執行程式時,會先提示輸入替代變數的值。
對於pl/sql程式,分號
表示語句結束,而使用』.'號,表示整個語句塊的結束,也可以省略。
按回車鍵後,語句塊不會執行,必須使用「/」符號執行pl/sql語句塊。
oracle資料庫概念
oracle由兩個主要元件構成,例項和資料庫.例項元件是啟動初始化的一組作業系統程序和記憶體結構 資料庫元件是指的用於資料儲存和資料庫操作的物理檔案。1.oracle提供了許多可在與資料庫互動時使用的工具,最常見的有 用於安裝和刪除的oracle軟體oui oracle universal inst...
oracle中資料庫和例項的概念
什麼是資料庫,其實很簡單,資料庫就是儲存資料的一種媒介。比如常用的檔案就是一種,在oracle10g中,資料的儲存有好幾種。第一種是檔案形式,也就是在你的磁碟中建立一批檔案,然後在這些檔案中儲存資訊。第二種就是磁碟陣列形式,這個是什麼意思呢,這個就是說明資料庫不是存放為某個檔案,而是把乙個或者多個磁...
oracle概念 例項和資料庫
資料庫程式,一般都要使用計算機的記憶體和持久儲存裝置 例如磁碟 進行操作。磁碟提供了持久儲存和儲存大量資訊的空間。但是,從磁碟中獲得資訊要比從記憶體中獲取資訊的速度慢很多,因此,很多資料庫引擎利用記憶體來快取資訊,從而加快資料的訪問速度。資訊如何儲存和從什麼地方獲取對於終端查詢使用者來說是透明的,但...