Commit اتوماتيک در اوراکل
در هنگام اجراي دستورات DDL , DCL در oracle به صورت اتوماتيك commit مي گردند يعني بعد از انجام اين دستورات يك Transaction به پايان مي رسد. حال وقتي شما يكي از دستورات (DML (insert,update,delete را در اوراکل انجام دهيد و سپس بعد از آن يك دستور DCL يا DDL را در اوراکل انجام دهيد ناخواسته عمل commit رخ مي دهد.
DDL is executed logically like this:
begin
COMMIT;
do the ddl;
COMMIT;
exception
when others then
ROLLBACK;
RAISE;
end;
DDL is executed logically like this:
begin
COMMIT;
do the ddl;
COMMIT;
exception
when others then
ROLLBACK;
RAISE;
end;
براي درك بهتر با مثال بيان مي كنم.
sql> conn scott/tiger
create table test(x1 int)
/
insert into test(x1) values(1)
/
insert into test(x1) values(2)
/
—DDL:
create table test2(x2 int)
/
insert into test(x1) values(3)
/
—DCL:
grant select on test to scott
/
sql> conn scott/tiger
create table test(x1 int)
/
insert into test(x1) values(1)
/
insert into test(x1) values(2)
/
—DDL:
create table test2(x2 int)
/
insert into test(x1) values(3)
/
—DCL:
grant select on test to scott
/
يك session جديد در اواراکل ايجاد كنيد و قبلي را نبنديد.
sql> conn scott/tiger
select * from test
result:
1
2
3
select * from test
result:
1
2
3
همچنين خروج عادي از SQL*Plus اوراکل بدون درخواست commit و يا rollback ، باعث commit در اوراکل مي گردد. البته مي توان اين عمل را غير فعال كرد.
SQL> set autocommit on
SQL> show autocommit
autocommit IMMEDIATE
SQL> set autocommit 42
SQL> show autocommit
AUTOCOMMIT ON for every 42 DML statements
SQL> set autocommit off
SQL> set autocommit on
SQL> show autocommit
autocommit IMMEDIATE
SQL> set autocommit 42
SQL> show autocommit
AUTOCOMMIT ON for every 42 DML statements
SQL> set autocommit off
نكته : هنگامي كه از دستورات DDL در كدهاي PL/SQL خود در اوراکل استفاده مي كنيد هميشه بايد حواستان به كنترل DML هاي قبل از آن باشد.
Rate this post
جستجو
مطالب اخیر
نظرات اخیر
- محمد در تبدیل تاریخ ها در اوراکل
- مجتبی خالقداد در پلاگین کد امنیتی اوراکل اپکس(ای پکس)
- سعید حسن پور در تبدیل تاریخ ها در اوراکل
- حسین در تبدیل تاریخ ها در اوراکل
- مهرسا سعادت در نقشه راه اوراکل APEX برای نسخه بعدی
برچسبها
AOP
APEX
apexrad
captcha
CDN
constraint
ebs
epg
forms
index
injection
iran
iranoug
longtype
Materialized-view
Oracle Application Express
orclapex
performance
Persian Sort
plsql
session
sql
standalone
variable scope
XE
امنیت
اوراکل
اپکس
ایران
ایندکس
ایپکس
بنبست
بهینه ساز
تاریخ شمسی
ترجمه
ترفند
حروف فارسی
داکیومنت
داینامیک
شمسی
مرتب سازی فارسی
نصب
نکته
پلاگین
یونیک