1
どのように変数を宣言し、後でそれらのクエリから返される値を設定しますか?ストアドプロシージャMySQLの戻り値の変数への代入
サンプル:
DELIMITER $$
CREATE PROCEDURE `sampledb`.`SetVariableEx`()
BEGIN
-- declare variable
DECLARE xVarA INT;
DECLARE xVarB INT;
-- in this line, i would like to set a value on xVarA which is a COUNT
-- of record from table SINGLETABLE
-- i am getting error on this line.
SELECT xVarA := COUNT(*) FROM SingleTable;
-- the value of xVarA is added by 1 and set it to xVarB
SET xVarB = xVarA + 1;
-- insert the value of xVarB to the table SINGLETABLE
INSERT INTO SingleTable(SingleColumn) VALUES (xVarB);
-- lastly, display all records.
SELECT * FROM SingleTable;
END$$
DELIMITER ;
私はそれをどのように行うのでしょうか?
AutoIncrementはqestionのポイントではなく、クエリの値を変数に設定します。 SET xVarA:= Single TableからCOUNT(*)を選択します。動作しませんが、カッコ内のクエリを配置することによって動作します。 SET xVarA:=(SELECT COUNT(*)FROM SingleTable);ありがとう! –
@ 491243何とか前にこれを逃した、むしろ遅れて私の答えを更新することになった。ありがとう。 –