⑴ 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 的连接串?或者环境是不是通的