Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat mengambil nilai yang saya inginkan untuk Pilih menggunakan Prosedur Tersimpan

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tanggal Php/Mysql disimpan sebagai '0000-00-00'

  2. Bergabunglah dengan dua tabel dan filter dengan klausa where

  3. Membuat DATETIME dari DATE dan TIME

  4. Buat array PHP dari kolom MySQL

  5. Fungsi panggilan MySqlCommand