コンポーネントSwingを使用してJavaアプリケーションを作成していますが、ストアドプロシージャを作成して4つの値をテーブルに挿入する方法や、トリガーを使用する方がよいかどうかわかりません。これは私のインターフェースです:
Question: ______textbox_____ correct answer:(bonne reponse )
Reponse A: _____textbox______ *A (Radio button)
Reponse B: _____textbox______ *B (Radio button) [Add button]
Reponse C: _____textbox______ *C (Radio button)
Reponse D: _____textbox______ *D (Radio button)
(levels)Paliers: _______ComboBox___
そして、それらはmysqlの私のテーブルです
-- -----------------------------------------------------
-- Table `mydb`.`questions`
-- -----------------------------------------------------
CREATE TABLE `questions` (
`idquestion` INT NOT NULL AUTO_INCREMENT ,
`question` VARCHAR(150) NULL ,
`palier_fk` INT NULL ,
PRIMARY KEY (`idquestion`) ,
INDEX `palier_fk` (`palier_fk` ASC) ,
CONSTRAINT `palier_fk`
FOREIGN KEY (`palier_fk` )
REFERENCES `paliers` (`idpalier` )
)
-- -----------------------------------------------------
-- Table `reponses`
-- -----------------------------------------------------
CREATE TABLE `reponses` (
`idreponse` INT NOT NULL AUTO_INCREMENT ,
`response` VARCHAR(60) NULL ,
`bonne` TINYINT(1) NULL ,
`question_fk` INT NULL ,
PRIMARY KEY (`idreponse`) ,
INDEX `question_fk` (`question_fk` ASC) ,
CONSTRAINT `question_fk`
FOREIGN KEY (`question_fk` )
REFERENCES `questions` (`idquestion` )
)
しかし、問題は、ストアド プロシージャを作成して 4 つの値を挿入し、同時に idpalier (1,2,3) を使用してテーブルの質問に挿入する方法です。
私はこれで試しましたが、それは間違っています
CREATE PROCEDURE sp_reponses_INSERT
(
IN idreponse int(11),
IN reponse varchar(60),
IN bonne tinyint(1),
IN question_fk int(11)
)
BEGIN
INSERT INTO reponses(
reponse,
bonne,
question_fk
)
VALUES
(
reponse,
bonne,
question_fk
),
(
reponse,
bonne,
question_fk
),
(
reponse,
bonne,
question_fk
),
(
reponse,
bonne,
question_fk
),
;
END
GO
一方、ストアドプロシージャの代わりにトリガーを作成することを考えていますが、それについてはよくわかりません。テーブルの質問に質問を挿入し、テーブルの回答に4つの回答を挿入する必要があるためです。
何か案は?