日期:2014-05-18 浏览次数:20743 次
--Author bluedn --Description 测试Java 调用Oracle 存储过程返回值 -- 返回列表 建一个程序包 create or replace package Pack_Schlist is type Sch_Cursor is ref cursor; end Pack_Schlist; --它是把游标(可以理解为一个指针),作为一个out 参数来返回值的 create or replace procedure Proc_SearchResultList(p_CURSOR out Pack_Schlist.Sch_Cursor) is begin open p_CURSOR for select * from Proc_Table; end Proc_SearchResultList; -- Create Proc_SearchResultOne 有返回值的存储过程(非列表) create or replace procedure Proc_SearchResultOne(PARA1 in VARCHAR2, PARA2 out VARCHAR2) As begin select name into PARA2 from Proc_Table where ID = PARA1; end Proc_SearchResultOne; -- Create Proc_Insert 插入数据:无返回值的存储过程 create or replace procedure Proc_Insert(ID in varchar2, Name in varchar2) is begin insert into PROC_TABLE(ID,NAME) VALUES (ID,Name); end Proc_Insert; -- Create table create table PROC_TABLE ( ID VARCHAR2(100), NAME VARCHAR2(100) ) tablespace USERS pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );
------解决方案--------------------
存储过程在sql里直接建立的,
create procedure pNew
@para1 varchar(255),
@para2 int output
AS
declare @strSQL nvarchar(4000)
begin
--执行过程
end
------解决方案--------------------
结题,给分吧,谢谢
------解决方案--------------------
写存储过程上面的都说了,
但有一点建议:要先在查询分析器写好代码测试,不要直接在JAVA里面测试