이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

31.5. 저장 함수 스포츠 토토

PostgreSQL의JDBC 드라이버 통화를 완벽하게 지원합니다포스트그레SQL저장된 함수.

예 31-4. 내장 저장 스포츠 토토 기능

이 예는 다음을 호출하는 방법을 보여줍니다.포스트그레SQL내장 함수,상위, 제공된 문자열을 간단히 변환합니다. 인수를 대문자로 변환합니다.

// 거래를 끕니다.
con.setAutoCommit(false);
// 프로시저 스포츠 토토.
CallableStatement upperProc = con.prepareCall(" ? = call upper( ? ) ");
upperProc.registerOutParameter(1, Types.VARCHAR);
upperProc.setString(2, "소문자를 대문자로");
upperProc.execute();
String upperCased = upperProc.getString(1);
upperProc.close();

31.5.1. 를 사용하여CallableStatement인터페이스

다음에 적용되는 모든 고려사항설명그리고PreparedStatement신청CallableStatement그러나 추가적으로 당신은 또한 한 가지 추가 제한 사항을 고려하십시오.

  • 당신은 내부에서만 저장된 함수를 스포츠 토토할 수 있습니다 거래.

31.5.2. 획득결과세트에서 저장된 함수

PostgreSQL의저장됨 함수는 a를 통해 결과를 반환할 수 있습니다.반환자값. 갑반환자.

JDBC의 확장으로서,포스트그레SQLJDBC 드라이버가 반환될 수 있음반환자값은ResultSet값.

예 31-5. 점점반환자함수의 값

a를 반환하는 함수를 스포츠 토토할 때반환자반환 유형을 다음과 같이 캐스팅해야 합니다.getObject결과세트

// 거래를 끕니다.
con.setAutoCommit(false);
// 프로시저 호출.
CallableStatement proc = con.prepareCall(" ? = doquery 호출 ( ? ) ");
proc.registerOutParameter(1, Types.Other);
proc.setInt(2, -1);
proc.execute();
ResultSet 결과 = (ResultSet) proc.getObject(1);
동안(results.next()) 
  // 결과에 대해 뭔가를 합니다...

또한 치료가 가능합니다.반환자고유한 유형으로 값을 반환합니다. 그 자체. JDBC 드라이버는 다음을 제공합니다.org.postgresql.PGRefCursorResultSet클래스 이 목적을 위해.

예 31-6. 치료반환자고유한 유형으로

con.setAutoCommit(false);
CallableStatement proc = con.prepareCall(" ? = doquery 호출 ( ? ) ");
proc.registerOutParameter(1, Types.Other);
proc.setInt(2, 0);
org.postgresql.PGRefCursorResultSet 참조 
    = (PGRefCursorResultSet) con.getObject(1);
문자열 커서이름 = refcurs.getRefCursor();
proc.close();