1.创建一个简单的表
create table mytest_chg(name varchar2(30),passwd varchar2(30));
2.创建存储过程(最后要"/"才能执行)
create or replace procedure chg_pro1 is
begin
insert into mytest_chg(name,passwd) values('bbb','123');
end;
/
2.2查看错误信息方法
show error;
3.如何调用过程
3.1 exec过程名(参数值1,参数值2...);
call过程名(参数值1,参数值2...);--有无参数时报错
delete from mytest_chg where name='aaa';
4.pl/sql块
--开启(一定要先开启)
set serveroutput on;
--简单的块
begin
--输出
dbms_output.put_line('hello oracle');
end;
5.查询将值赋给一个变量,再打印出来&no是传empno字段的值
declare v_ename varchar2(5);
begin
select ename into v_ename from emp where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
end;
5.2
declare
--定义变量
v_ename varchar2(5);
v_sal number(7,2);
begin
--执行部分
select ename,sal into v_ename,v_sal from emp where empno=&no;
dbms_output.put_line('雇员名:'||v_ename||'工资是:'||v_sal);
--异常处理
exception
when no_data_found then
dbms_output.put_line('输入编号未找到');
end;
6.--案例
create procedure ch_pro2(chName varchar2,newSal number) is
begin
--执行部分,根据用户名修改工资
update emp set sal=newSal where ename=chName;
end;
--调用
exec ch_pro2('SMITH',1000);
7.如何在java中调用oracle存储过程
7.1得到连接后,创建CallableStatement cs=con.prepareCall("{call ch_pro2(?,?)}");
注意:这里执行的语句要用“{}”括起来,而且不能用exec
7.2给?赋值cs.setString();cs.setInt();//执行cs.execute;
pl/sql编程小结
猜你喜欢
转载自0624chenhong.iteye.com/blog/1585335
今日推荐
周排行