Jika Anda ingin nilai yang dikembalikan melalui parameter OUT dari prosedur tersimpan maka Anda tidak menggunakan ResultSet, Anda menggunakan parameter CallableStatement yang terkait dengan parameter OUT dari prosedur tersimpan. Misalnya, untuk tabel pengujian
CREATE TABLE `allsections_list` (
`SECTION_ID` int(11) NOT NULL,
`SECTION_NAME` varchar(50) DEFAULT NULL,
PRIMARY KEY (`SECTION_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
berisi data sampel
SECTION_ID SECTION_NAME
---------- ---------------
1 one_section
2 another_section
dan prosedur tersimpan
CREATE PROCEDURE `getSECTION_NAME`(IN myID INT, OUT myName VARCHAR(50))
BEGIN
SELECT SECTION_NAME INTO myName FROM allsections_list WHERE SECTION_ID = myID;
END
lalu kode Java berikut
try (CallableStatement myFirstCs = conn.prepareCall("{call getSECTION_NAME(?,?)}")) {
myFirstCs.setInt(1, 2); // set IN parameter "myID" to value 2
myFirstCs.registerOutParameter(2, Types.VARCHAR);
myFirstCs.execute();
String sectionName = myFirstCs.getString(2); // get value from OUT parameter "myName"
System.out.println(sectionName);
}
cetakan
another_section