用户名:  密码:   
您当前的位置:首页 > SQL数据库 >  Oracle > 

第25讲 块的结构及在plsql中演示块的调用,过程的结构及在MyEclipse中用java语言调用过程

上次修改时间: 2015-12-07 11:27:13      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\SQL数据库相关\Oracle数据库学习\韩顺平.玩转oracle教程笔记1_30讲\      下一页

块的结构及在pl/sql中演示块的调用,过程的结构及在MyEclipse中用java语言调用过程

一、Java的块
public static void main (String []args){
int a=1;
try{
a++;
system.out.printIn("1111");
catch(Execption e);`//得到异常
}
}
 
二、输出一行字符的简单块
set serveroutput on/off //打开输出选项,如果是on,写完回车会输入一行hello,world,off不会输出
begin
dbms_output.put_line(‘hello,world’); --dbms_output是这个包名,put_line是个过程名
end;

三、块是由定义部分,执行部分及有例外异常处理的块,例
实例2和3,--有定义和执行部分的块,3是加了异常处理的块
declare --定义变量的关键字
v_ename varchar2(5); //定义字符串变量v_ename
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where empno=&aa; //&aa代表执行时会跳出控制台让你输入aa的值,&表地址符,aa随便命名的字符,into v_ename //把查出的值赋值给v_ename
dbms_output.put_line('用户名是:'||v_ename||‘工资:’||v_sal); //输入一行,在控制台显示
exception
when no_data_found then
dbms_output.put_line('你的编号输入有误或数据库里没');
end;
/
注:异常处理是为了避免pl/sql的运行错误,应对可能的错误进行处理,有时出现异常时要用其它的处理,no_data_found是一个例外,的异常

四、过程,输入参数,将参数传递到执行部分,传递到应用环境
--案例4,修改指定员工工资的过程
create procedure sp_pro3(spName varchar2,newSal number) is //number只需指定类型,不需指定大小
begin
update emp set sal=newSal where ename=spName;--执行部分,根据用户名去修改工资
end;
/
exec sp_pro3(‘scott‘,4688); //调用存储过程

五、如何在Java中调用一个存储过程
启动MyEclipse建一个java调用过程
建名为Test的java工程,工程里建一个名为com.sp的包,包里再建个名为TestOraclePro类,勾上主函数
import java.sql.*;  //执行前要引入驱动包
 public static void main(String[] args) {
     try{     
      Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动
      Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORACLE1","scott","tiger");//得取连接
      CallableStatement cs=ct.prepareCall("{call sp_pro3(?,?)}"); //创建callableStatement
      cs.setString(1,"SMITH"); //给第1个问号赋值
      cs.setInt(2,1234); //给第2个问号赋值
      cs.execute(); //执行
      cs.close(); //关闭资源
      ct.close();     
     }catch(Exception e){ //异常处理
      e.printStackTrace();
     }    
 }
//执行前要引入驱动包

如何使用过程返回值