POSTGRESQL的JDBC中的存储过程

豆豆网   技术应用频道   2007年10月26日  【字号: 收藏本文

本文详细介绍POSTGRESQL的JDBC中的存储过程

  1.从www.postgresql.org下载最新的postgresql-snapshot.tar.gz,antfromapache;

  2.settingANT_HOME

  3.../configure--with-java;make;makeinstall

  FUNCTION和JAVA代码参考了jdbc.postgresql.orgmailinglist里面的内容. 

CREATETABLEusers(idint,namevarchar(32));
CREATEORREPLACEFUNCTIONsp_users_select()RETURNSrefcursor
  AS'
declarerefrefcursor;
begin 
openrefforselect*fromusers;
returnref;
end;
'LANGUAGEplpgsql;
importjava.lang.*;
importjava.sql.*;
publicclasspc
{
publicstaticvoidmain(String[]args)
throwsException
{
Stringdriver ="org.postgresql.Driver";
Stringurl ="jdbc:postgresql://localhost:5432/nop";
Stringuser ="nop";
Stringpasswd ="nop";
Class.forName(driver);
Connectionconn =DriverManager.getConnection(url,user,passwd);
conn.setAutoCommit(false);//returnrefcursormustwithinatransaction
CallableStatementproc=conn.prepareCall("{?=callsp_users_select()}");
proc.registerOutParameter(1,Types.OTHER);
proc.execute(); 
ResultSetresult=(ResultSet)proc.getObject(1);
System.out.println(result); 
while(result.next()) 
{ 
System.err.println("Name:"+result.getString(2)); 
} 
conn.commit();
}
}

责编:豆豆技术应用

正在加载评论...