簡體   English   中英

如何將表作為參數發送到 MySQL 中的存儲過程?

[英]How can I send a table as a parameter to stored procedure in MySQL?

我在 MySQL 中有一個存儲過程,例如:

DELIMITER $$
CREATE PROCEDURE addIns(IN insCode VARCHAR(21), IN insName VARCHAR(21), IN stat BIT(1))
BEGIN
    INSERT INTO institution(institution.institution_code, institution.institution_name, institution.is_active) 
    VALUES (insCode, insName, stat);
END$$
DELIMITER ;

但我想要這樣:

DELIMITER $$
CREATE PROCEDURE addIns(IN _institution)
BEGIN
    INSERT INTO institution(institution.institution_code, institution.institution_name, institution.is_active)
    VALUES (_institution.institution_code, _institution.institution_name, _institution.is_active);
END$$
DELIMITER ;

因為我想在 Java Spring App 中使用這個存儲過程。 我該如何提供?

我的直覺表是:

在此處輸入圖像描述

CREATE PROCEDURE addIns(IN _institution)
BEGIN
    @sql := CONCAT( 'INSERT INTO institution (institution_code, institution_name, is_active) SELECT institution_code, institution_name, is_active FROM ' , _institution);
    PREPARE stmt FROM @sql;
    EXECUTE stmt;
    DROP PREPARE stmt;
END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM