pl/sql写一个存储过程,实现按名字查询数据库,将查到的值(比如说有ID,NAME,PASSWORD等)传出给JAVA
3个回答
展开全部
create or replace procedure pc_get(
in_name in varchar,
id out int,
name out varchar,
password out varchar
)
is
begin
select tb.id,tb.name,tb.password into id,name,password from tab tb where tb.name=in_name;
end;
in_name in varchar,
id out int,
name out varchar,
password out varchar
)
is
begin
select tb.id,tb.name,tb.password into id,name,password from tab tb where tb.name=in_name;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这需求需要用存储过程么?完全没必要啊。最简单的dao不就行了?
追问
我这个是培训,主要是练习怎么用存储过程,能帮帮忙吗
追答
CREATE OR REPLACE PROCEDURE Findname
(p_Name in out VARCHAR ,p_ID out VARCHAR ,p_PASSWORD out VARCHAR )
AS
BEGIN
select ID,NAME,PASSWORD
into p_ID,p_Name,p_PASSWORD
from AAA a
where a.Name = p_Name;
End Findname;
java调用:注意上面的存储参数类型,第一个是in +out,后两个是out.其实即使上课没听懂,网上多找找其他例子,直接找别人给你做出来效果不好。我也是刚参加玩培训,自己的一点体会
CallableStatement state = con.prepareCall("{call findname(?,?,?)}");
state.setString(1, "q");//设置参数
state.registerOutParameter(1, Types.VARCHAR);
state.registerOutParameter(2, Types.VARCHAR);
state.registerOutParameter(3, Types.VARCHAR);
state.execute();
String a=state.getString(1);
String b=state.getString(2);
String c=state.getString(3);
System.out.println(a);
System.out.println(b);
System.out.println(c);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询