Oracle的事務(wù)開始于一個(gè)DML語句。\x0d\x0a\x0d\x0a當(dāng)以下情況發(fā)生時(shí),事務(wù)結(jié)束:\x0d\x0a\x0d\x0a1、COMMIT/ROLLBACK\x0d\x0a\x0d\x0a2、執(zhí)行了DDL/DCL語句\x0d\x0a\x0d\x0a3、客戶端主動(dòng)斷開數(shù)據(jù)庫的連接(DISCONNECT)\x0d\x0a\x0d\x0a4、數(shù)據(jù)庫關(guān)閉(宕機(jī))\x0d\x0a\x0d\x0a另外,一個(gè)DDL/DCL語句實(shí)際上就是一個(gè)事務(wù),其中隱含了COMMIT。\x0d\x0a\x0d\x0aOracle不需要特別的去指定事務(wù)的開始和結(jié)束。一個(gè)事務(wù)的結(jié)束就是下一個(gè)事務(wù)的開始。
阿克塞哈薩克族自治網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,阿克塞哈薩克族自治網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為阿克塞哈薩克族自治上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的阿克塞哈薩克族自治做網(wǎng)站的公司定做!
拋出異常,比如:
if new.col1 is null then
RAISE_APPLICATION_ERROR(-20001, 'col1 is null.');
end if;
create or replace trigger insert_stopbefore insert on tb --tb為你的表名for each rowdeclare insert_excp exception; v_tm varchar2(4);begin v_tm := to_char(sysdate,'hh24mi'); if (to_number(v_tm)=2200 and to_number(v_tm)=2359) or v_tm='0000' then raise insert_excp; end if;exception when insert_excp then dbms_output.put_line('在22:00---00:00不可以插入數(shù)據(jù)'); when others then dbms_output.put_line(sqlcode || ': '||sqlerrm);end;
1、將你要執(zhí)行的sql語句寫入一個(gè)txt文件中;
2、修改文件后綴為.sql文件;
3、使用 “source + 路徑+文件名” 注:
source與路徑之間有空格。
用以下的sql可以查詢出當(dāng)前session中正在運(yùn)行的sql信息:
select
s.module,
sql_text,
sn.osuser,
sn.machine,
s.executions
from
sys.v_$sql
s,
sys.all_users
u,
v$session
sn
where
s.parsing_user_id
=
u.user_id
and
upper(u.username)
in
('username')
and
(upper(s.module)
=
'app.exe')
and
sn.sql_hash_value
=
s.hash_value
and
sn.sql_address
=
s.address
order
by
s.last_load_time