oracle中的儲存過程 徐川江的部落格 新浪部落格

2021-09-12 09:18:00 字數 1308 閱讀 4066

範例:

//建立儲存過程[in]

create or replace procedure prc(p_id in number,p_name in varchar2,p_sal in number) is

begin

insert into emp(empno, ename, sal) values(p_id, p_name, p_sal);

end;

//呼叫儲存過程

set serveroutput on

declare

begin

prc(009,p_name=>'laoliao',p_sal=>90000);

end;

select * from emp;

範例://建立儲存過程[out]

create or replace procedure prc_out(p_id in number,p_name out emp.ename% type,p_sal out emp.sal% type) is

begin

select ename,sal into p_name, p_sal from emp where empno=p_id;

end;

//呼叫儲存過程

set serveroutput on

declare

p_name emp.ename% type;

p_sal emp.sal% type;

begin

prc_out(9, p_name, p_sal);

dbms_output.put_line(p_name || ':' || p_sal);

end;

每個儲存過程都會自動開啟乙個事務:

如果下面範例沒有提交的話則,在外面呼叫過程中的回滾中而不會再資料庫中插入記錄;如果進行了commit,則外面的回滾對儲存過程沒有影響。

範例://定義了乙個儲存過程

create or replace procedure pcu is

begin

insert into emp(empno,ename,sal) values(666,'楊濤','-444');

commit;--進行了提交,能插入到庫中

end;

//呼叫儲存過程,且進行回滾操作。

set serveroutput on

declare

begin

pcu;

insert into emp(empno,ename,sal) values(667,'楊濤東','-888');

rollback;

end;

Oracle中的資料冷備份 徐川江的部落格 新浪部落格

在資料操作之中,有可能有些使用者不會進行事務的提交,那麼在這種情況下很可能無法進行完整的備份操作,而所謂的冷備份指的是就是關閉資料庫例項的情況下進行資料庫備份操作的實現 如果要進行冷備份,則需要備份出資料庫中的一些幾個核心內容 控制檔案,指的是控制整個 oracle 資料庫的例項服務的核心檔案,直接...

Oracle中的零散筆記 徐川江的部落格 新浪部落格

spool f xx.txt 開啟記錄 host cls 清屏 set timing on off on 開啟oracle 執行語句時的所需時間 select from v nls parameters 檢視系統引數 alter session set nul date format yyyy mm...

oracle中的同義詞 徐川江的部落格 新浪部落格

範例 查詢 dual表 select from dual dual 是一張虛擬表,但是這張表是屬於 sys使用者的,在不同使用者訪問其他使用者的表,則需要寫上 使用者.表名稱 那麼 scott 使用者訪問的時候卻是直接使用 dual 即可,而不是應該為 sys.dual 嗎?這個實際上就是同義詞的作...