Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể truy xuất giá trị tôi muốn Chọn bằng Quy trình đã Lưu trữ

Nếu bạn muốn giá trị được trả về thông qua tham số OUT của một thủ tục được lưu trữ thì bạn không sử dụng ResultSet, bạn sử dụng tham số CallableStatement được liên kết với tham số OUT của thủ tục được lưu trữ. Ví dụ:đối với bảng kiểm tra

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

chứa dữ liệu mẫu

SECTION_ID  SECTION_NAME
----------  ---------------
         1  one_section
         2  another_section

và thủ tục được lưu trữ

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

sau đó là mã Java sau

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);
}

bản in

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. MySQL để thay thế bằng ký tự đại diện

  2. Hướng dẫn thiết kế cơ sở dữ liệu cho hệ thống mạng xã hội trong MySQL

  3. hiển thị dữ liệu từ cơ sở dữ liệu xuống CodeIgniter thả xuống

  4. Sử dụng LIMIT để phân trang kết quả trong truy vấn MySQL

  5. Muối là gì khi liên quan đến MYSQL sha1?