使用oracle調(diào)用存儲過程得方式和plsql不一樣,下面給你個調(diào)用例子

創(chuàng)新互聯(lián)建站于2013年開始,先為崇仁等服務(wù)建站,崇仁等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為崇仁企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
過程調(diào)用方式一
declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //存儲過程調(diào)用開始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(realsal,realname,realjob); --必須按順序
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //過程調(diào)用結(jié)束
過程調(diào)用方式二
declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //過程調(diào)用開始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(sname=realname,isal=realsal,sjob=realjob); --指定值對應(yīng)變量順序可變
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //過程調(diào)用結(jié)束
sqlplus或者pl/sql
sql窗口
輸入(單獨(dú)調(diào)用存儲過程):
無參數(shù)
exec
過程名;
或者
begin
過程名
end;
in
參數(shù)
exec
過程名(入?yún)?shù)..);
或者
begin
過程名(入?yún)?shù)...)
end;
out參數(shù),in
out參數(shù)
variable
綁定變量名
數(shù)據(jù)類型;
//定義一個變量接收出參數(shù)的值;
exec
過程名(:綁定變量名);
以下的文章主要介紹的是Oracle delete的執(zhí)行過程 我們大家都知道Oracle delete與Commit的實(shí)際操作的相關(guān)流程的具體分析 以下就是對其實(shí)際的操作流程的介紹 望你在瀏覽之后會有所收獲
( )刪除(delete)流程
Oracle讀Block(數(shù)據(jù)塊)到Buffer Cache(緩沖區(qū))(如果該Block在Buffer中不存在)
在Redo Log Buffer(重做日志緩沖區(qū))中記錄Oracledelete操作的細(xì)節(jié)
在相應(yīng)回滾段段頭的事物表中創(chuàng)建一個Undo(回滾)條目
把將要刪除的記錄創(chuàng)建前鏡像 存放到Undo Block(回滾塊)中
在Buffer Cache中的相應(yīng)數(shù)據(jù)塊上刪除記錄 并且標(biāo)記相應(yīng)的數(shù)據(jù)塊為Dirty(臟)
( )提交(Commit)流程
Oracle產(chǎn)生一個SCN
在回滾段事物表中標(biāo)記該事物狀態(tài)為Commited
LGWR(日志讀寫進(jìn)程)Flush Log Buffer到日志文件
如果此時數(shù)據(jù)塊仍然在Buffer Cache中 那么SCN將被記錄到Block Header上 這被稱為快速提交
lishixinzhi/Article/program/Oracle/201311/18643
用job
oracle定時器調(diào)用存儲過程
1、創(chuàng)建一個表,為了能清楚看到定時器的運(yùn)行情況我們創(chuàng)建一個帶有日期字段的表
Sql代碼 ?
create table job_table(run_time date); ?
create table job_table(run_time date);
2、創(chuàng)建存儲過程
Sql代碼 ?
create or replace procedure job_proc is ?
begin
insert into job_table (run_time) values (sysdate); ?
end; ?
create or replace procedure job_proc is
begin
insert into job_table (run_time) values (sysdate);
end;
3、創(chuàng)建job,并且指定為一分鐘執(zhí)行一次
Sql代碼 ?
declare
job number; ?
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); ?
end/ ?
commit; ?
declare
job number;
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');
end/
commit;
4.創(chuàng)建之后自動處于運(yùn)行狀態(tài),我們查詢job表,看看我們創(chuàng)建的job
Sql代碼 ?
select job,broken,what,interval,t.* from user_jobs t; ?
select job,broken,what,interval,t.* from user_jobs t;
job broken what interval ...
81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...
用job
oracle定時器調(diào)用存儲過程
創(chuàng)建一個表,為了能清楚看到定時器的運(yùn)行情況我們創(chuàng)建一個帶有日期字段的表
Sql代碼 ?
create table job_table(run_time date); ?
create table job_table(run_time date);
2.創(chuàng)建存儲過程
Sql代碼 ?
create or replace procedure job_proc is ?
begin
insert into job_table (run_time) values (sysdate); ?
end; ?
create or replace procedure job_proc is
begin
insert into job_table (run_time) values (sysdate);
end;
3.創(chuàng)建job,并且指定為一分鐘執(zhí)行一次
Sql代碼 ?
declare
job number; ?
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); ?
end/ ?
commit; ?
declare
job number;
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');
end/
commit;
4.創(chuàng)建之后自動處于運(yùn)行狀態(tài),我們查詢job表,看看我們創(chuàng)建的job
Sql代碼 ?
select job,broken,what,interval,t.* from user_jobs t; ?
select job,broken,what,interval,t.* from user_jobs t;
job broken what interval ...
81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...
sqlplus或者PL/SQL
SQL窗口
輸入(單獨(dú)調(diào)用存儲過程):
無參數(shù)
EXEC
過程名;
或者
BEGIN
過程名
END;
IN
參數(shù)
EXEC
過程名(入?yún)?shù)..);
或者
BEGIN
過程名(入?yún)?shù)...)
END;
OUT參數(shù),IN
OUT參數(shù)
variable
綁定變量名
數(shù)據(jù)類型;
//定義一個變量接收出參數(shù)的值;
EXEC
過程名(:綁定變量名);
網(wǎng)站題目:如何執(zhí)行oracle過程 oracle 過程調(diào)用過程
文章分享:http://chinadenli.net/article24/hjigce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、外貿(mào)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站營銷、網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)