--1、建立儲存過程(無引數)
create or replace procedure out_time
isbegin
dbms_output.put_line(systimestamp);
end;
--呼叫儲存過程
exec out_time;
call out_time();
--2、建立儲存過程(有引數,且顯示指定為輸入引數,如果不指定引數模式,預設為輸入引數)
create or replace procedure update_comtype_name
(param_name in communitytype.name%type)
isbegin
--修改名稱
update communitytype
set communitytype.english_name = param_name
where communitytype.community_type_id = 'ebook';
commit;
--異常處理
exception
when no_data_found then
dbms_output.put_line('沒有找到資源庫');
end;
--呼叫儲存過程
call update_comtype_name('電子圖書');
--結果
--呼叫前
--呼叫後
--3、建立儲存過程(有引數,且顯示指定為輸出引數,同時賦預設值)
create or replace procedure update_comtype_name
(param_id in communitytype.community_type_id%type,new_name out communitytype.name%type)
isbegin
--查詢修改後的值
select communitytype.english_name into new_name
from communitytype
where communitytype.community_type_id = param_id;
--輸出
dbms_output.put_line(new_name);
end;
--呼叫儲存過程(在pl/sql中開啟commond視窗)
var new_name varchar2(500);
exec update_comtype_name('ebook',:new_name);
--結果
--4、修改後再查詢修改後的值
create or replace procedure update_comtype_name
(param_id in communitytype.community_type_id%type,
param_eng_name in communitytype.english_name%type,
new_name out communitytype.name%type)is
begin
--修改名稱
update communitytype
set communitytype.english_name = param_eng_name
where communitytype.community_type_id = param_id;
commit;
--查詢修改後的值
select communitytype.english_name into new_name
from communitytype
where communitytype.community_type_id = param_id;
--輸出
dbms_output.put_line(new_name);
end;
--呼叫儲存過程(在pl/sql中開啟commond視窗)
var new_name varchar2(500);
exec update_comtype_name('ebook','電子圖書修改',:new_name);
--5、刪除過程
drop procedure update_comtype_name;
--6、建立儲存過程時,將引數同時設定為輸入和輸出
create or replace procedure compute
(num1 in out number,num2 in out number)
is--在利用輸入引數時,需要定義臨時變數將運算結果儲存起來
v1 number;
v2 number;
begin
v1:=num1/num2;
v2:=mod(num1,num2);
--最後返回結果時,將臨時引數的值賦給輸入引數(即輸出引數)
num1:=v1;
num2:=v2;
end;
ORACLE10G解除安裝過程
解除安裝步驟 1 開始 設定 控制面板 管理工具 服務 停止所有oracle服務。沒有起動的就不用停用了 2 開始 程式 oracle oradb10g home1 oracle installation products universal installer 卸裝所有oracle產品 不要按下一...
Oracle10g下簡單儲存過程編寫
經過個把小時的折騰,寫了乙個簡單的儲存過程。一直都是改別人的儲存過程,沒有自己 寫過,這樣很不好。寫了乙個簡單功能的 有判斷選擇,迴圈遍歷游標。儲存過程注意點 1.注意其基本的語法。2.關注游標,在10g中定義游標一般都使用sys refcursor 而cursor只是用來在申明部分進行初始化,而s...
oracle 10g 學習之函式和儲存過程(12)
一 函式 1.函式的 helloworld 返回乙個 helloworld 的字串 create or replace function helloworld return varchar2 isbegin return helloworld end 執行函式 begin dbms output.p...