Oracle存储结构怎么写( 二 )


DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束
给你参考一下,希望对你有所帮助
祝你好运
4.oracle怎么写存储过程给你示例你参考下:
----------------------------建立存储过程:
CREATE OR REPLACE PROCEDURE P_name--存储过程名字
(
i_var in int,--输入参数1
o_var OUT varchar2 --输出参数1
)
IS
v_STR VARCHAR2(200); --定义存储过程内部的局部变量
BEGIN
--下面是存储过程的主体实现部分
v_STR := i_var;
dbms_output.put_line(v_STR);
o_var := v_STR;
exception--错误异常处理部分
when others then
dbms_output.put_line(sqlerrm);--打印错误信息
END P_name;
-----------------------------------调用存储过程示例:
declare
v_in int;
v_out varchar2(50);
begin
v_in :=100;
P_name (v_in,v_out); --调用存储过程P_name
dbms_output.put_line('存储过程输入结果为:'||v_out);
exception--错误异常处理部分
when others then
dbms_output.put_line(sqlerrm);--打印错误信息
end;
5.oracle 存储过程怎么写~create or replace procedure 存储过程名(param1 in type,param2 out type)
as
变量1 类型(值范围); --vs_msg VARCHAR2(4000);
变量2 类型(值范围);
Begin
Select count(*) into 变量1 from 表A where列名=param1;
If (判断条件) then
Select 列名 into 变量2 from 表A where列名=param1;
Dbms_output 。Put_line('打印信息');
Elsif (判断条件) then
Dbms_output 。Put_line('打印信息');
Else
Raise 异常名(NO_DATA_FOUND);
End if;
Exception
When others then
Rollback;
End;
6.oracle存储过程并且怎么写一、无参程序过程语法 create or replace procedure noparpro as ; begin ; exception //存储过程异常 ; end; 二、带参存储过程实例 create or replace procedure queryempname(sfindno emp.empno%type) as sname emp.ename%type; sjob emp.job%type; begin。
. exception。. end; 三、带参数存储过程含赋值方式 create or replace procedure runbyparmeters (isal in emp.sal%type, sname out varchar,sjob in out varchar) as icount number; begin select count(*) into icount from emp where sal>isal and job=sjob; if icount=1 then。
. else。. end if; exception when too_many_rows then dbms_output.put_line('返回值多于1行'); when others then dbms_output.put_line('在runbyparmeters过程中出错!'); end; 在oracle中对存储过程的调用 过程调用方式一 declare realsal emp.sal%type; realname varchar(40); realjob varchar(40); begin //存储过程调用开始 realsal:=1100; realname:=''; realjob:='clerk'; runbyparmeters(realsal,realname,realjob); --必须按顺序 dbms_output.put_line(realname||' '||realjob); end; //过程调用结束 过程调用方式二 declare realsal emp.sal%type; realname varchar(40); realjob varchar(40); begin //过程调用开始 realsal:=1100; realname:=''; realjob:='clerk'; runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变 dbms_output.put_line(realname||' '||realjob); end; //过程调用结束 给你参考一下,希望对你有所帮助 祝你好运 。
7.Oracle存储过程如何编写JDBC调用存储过程: CallableStatement在Java里面调用存储过程,写法那是相当的固定:Class.forName( 。.Connection conn = DriverManager.getConnection( 。./***p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替*其余地方写法固定*/CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");/***告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定*下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的*Types后面具体写什么类型,得看你的存储过程参数怎么定义的*/cstmt.registerOutParameter(3, Types.INTEGER);cstmt.registerOutParameter(4, Types.INTEGER);/***p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替*其余地方写法固定*/CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");/***在我这里第1个?和第2个?是输入参数,第3个是输出参数,第4个既输入又输出*下面是设置他们的值,第一个设为3,第二个设为4,第4个设置为5*没设第3个,因为它是输出参数*/cstmt.setInt(1, 3);cstmt.setInt(2, 4);cstmt.setInt(4, 5);//执行cstmt.execute();//把第3个参数的值当成int类型拿出来int three = cstmt.getInt(3);System.out.println(three);//把第4个参数的值当成int类型拿出来int four = cstmt.getInt(4);System.out.println(four);//用完别忘给人家关了,后开的先关cstmt.close();conn.close();JDBC调用存储过程,掌握这一个程序足够了.以下是上面程序使用的存储过程的代码,我用的是Oracle数据库,不过不论是什么数据库,对于你的程序,JDBC这一端写法都是一样的.create or replace procedure p(v_a in number,v_b number,v_ret out number,v_temp in out number)isbeginif(v_a > v_b) thenv_ret := v_a;elsev_ret := v_b;end if;v_temp := v_temp + 1;end;