不是很明白这段代码,理解成是一条语句:
RETURN
SELECT distinct sales
FROM SALES
where sales_person=NAME;1.首先测试直接返回一个值,也就是RETURN SELECT distinct sales FROM SALES where sales_person=NAME;修改成RETURN 999;2.如果还不正常那偶也没有办法了,楼主参考DB2的文档或例子吧。
3.如果正常那就好办了。
Oracle中的写法是:
Number out;
....
SELECT distinct sales into out FROM SALES where sales_person=NAME;
....
return out;
RETURN
SELECT distinct sales
FROM SALES
where sales_person=NAME;1.首先测试直接返回一个值,也就是RETURN SELECT distinct sales FROM SALES where sales_person=NAME;修改成RETURN 999;2.如果还不正常那偶也没有办法了,楼主参考DB2的文档或例子吧。
3.如果正常那就好办了。
Oracle中的写法是:
Number out;
....
SELECT distinct sales into out FROM SALES where sales_person=NAME;
....
return out;
这样试一试呢?
con = ConnectionPool.getConnection(); con.setAutoCommit(false); CallableStatement toesUp = connection.prepareCall("{ ? = call list_early_deaths () }"); toesUp.registerOutParameter(1, Types.OTHER); toesUp.execute(); ResultSet rs = (ResultSet) toesUp.getObject(1); while (rs.next()) { String name = rs.getString(1); int age = rs.getInt(2); mapper.sendDeath(name, age);
DB2的函数就是函数,存储过程就是存储过程,不象Oracle那样好像是一回事。
停掉DB2的所有服务执行D:\SQLLIB\java12\usejdbc2.bat