⑴ oracle存儲過程事務控制
對!
sql">createtablea(idnumber);
createorreplaceprocerea_prois
begin
insertintoavalues(1);
b;
rollback;
end;createorreplaceprocerebis
begin
commit;
end;
SQL>execa_pro;
PL/
SQL>select*froma;
ID
----------
1
⑵ 如何輕松掌握Oracle存儲過程及事務
看documentation
⑶ oracle 存儲過程 事務提交ygfcf
你是想知道,oracle的存儲過程,在哪裡執行的時候,或者是在那裡調用的時候,事務是怎麼樣的是嗎!?java調用oracle的過程時,事務是自動提交的,當然如果出現異常,會自動回滾的!
⑷ 為什麼oracle中用存儲過程實現修改會出現載入超時的現象
列個表,里邊我一樣給你寫個例子,你看著學學,我盡量給你做出注釋
--建一個學生表
create table student (id int,name varchar2(10));
--插入兩條測試數據
insert into student values (1,'張三');
insert into student values (2,'李四');
commit;
-------------用存儲過程添加id為3,姓名為王五的學生-----------
create or replace PROCEDURE P_INSERT
(v_id int,--定義id變數
v_name varchar2--定義姓名變數)
is
begin
insert into student values (v_id,v_name);--執行插入操作
commit;
end;
執行的時候用下邊的
BEGIN
p_insert(3,'王五');
END;
然後select * from student;
你會發現多了3 王五 這條數據
---------------用存儲過程刪除id為3的學生------------
create or replace PROCEDURE P_DELETE
(v_id int)--定義變數id
is
begin
delete from student where id=v_id;--執行刪除操作
commit;
end;
執行
BEGIN
p_delete(3);
END;
執行完上邊後執行
select * from student;
你會發現id為3的學生沒了
---------------用存儲過程查詢id為2的學生姓名------------
create or replace PROCEDURE P_SELECT
(v_id int)--定義輸入變數id
is
v_name varchar2(10);--定義輸出變數name
begin
select name into v_name from student where id=v_id;--執行查詢
dbms_output.put_line('學生姓名為:'||v_name);--輸出結果
end;
執行
BEGIN
p_select(2);
END;
輸出的結果就是id為2的學生姓名
-----------用存儲過程查詢id為1的學生姓名修改為趙六----------
create or replace PROCEDURE P_UPDATE
(v_id int,--定義要修改的id
v_name varchar2)--定義要修改後的名字
is
begin
update student set name=v_name where id=v_id;--執行修改操作
commit;
end;
執行
BEGIN
P_UPDATE(1,'趙六');
END;
然後你再
select * from student;
你會發現id為1的已經為趙六了
上邊這些都是最簡單的存儲過程,在實際過程中肯定沒這么簡單
還有,我讓你執行的
BEGIN
P_UPDATE(1,'趙六');
END;
這種東西可以當做oracle的job調用,可以定時執行
再有不懂的你再問吧,上邊的僅做參考
累死我了,哈哈
⑸ oracle 存儲過程事務控制
把第一個commit去掉既可,如下:
create or replace procere aaa is
var2 number;
begin SELECT Seq_Tbtopic.nextval INTO var2 FROM al;
insert into tbTopic values (var2 , 1, 1, '口語3333',1,3,2,'','');
insert into tbchildtopic values (Seq_Tbchildtopic.Nextval,var2,'','ck','/kangsi/Resource/test/B1/1_2_2_1_Emily_ck_.mp3','ck');
commit;
end aaa;
⑹ oracle執行存儲過程時報:ORA-12170:TNS:連接超時
存儲過程中是否用到dblink?
⑺ oracle 存儲過程中
你的tnsnames.ora 文件中有沒有配置link35 的連接串?或者環境是不是通的