BEGIN CASE assetTypeNo
WHEN 0 THEN
(
SELECT *
FROM
books
)
WHEN 1
THEN
SELECT *
FROM magazines
END;
END
mySQL でストアド プロシージャを作成する際に、これは可能ですか? もしそうなら。助けてください。どこにも答えが見つかりません。
BEGIN CASE assetTypeNo
WHEN 0 THEN
(
SELECT *
FROM
books
)
WHEN 1
THEN
SELECT *
FROM magazines
END;
END
mySQL でストアド プロシージャを作成する際に、これは可能ですか? もしそうなら。助けてください。どこにも答えが見つかりません。
構文が正しくありませんでした。このスクリプトを試してください-
BEGIN
CASE assetTypeNo
WHEN 0 THEN
SELECT * FROM books;
WHEN 1 THEN
SELECT * FROM magazines;
END CASE;
END
これを試してみてください。これはうまくいくはずです。
CREATE DEFINER = 'root'@'%' PROCEDURE `test_proc`(
IN assetTypeNo INTEGER(11)
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
CASE assetTypeNo
WHEN 0 THEN SELECT * FROM `books`;
WHEN 1 THEN SELECT * FROM `magazines` ;
ELSE
BEGIN
END;
END CASE;
END;
これを試して、
DELIMITER $$
CREATE PROCEDURE ProcName
BEGIN
IF assetTypeNo = 0 THEN
SELECT *
FROM ;
ELSEIF assetTypeNo = 1 THEN
SELECT *
FROM magazines
END;
END $$
DELIMITER ;