BEGIN CASE assetTypeNo
WHEN 0 THEN
(
SELECT *
FROM
books
)
WHEN 1
THEN
SELECT *
FROM magazines
END;
END
在mySQL.Is中創建存儲過程這可能嗎?如果是這樣。請幫忙。我無法在任何地方找到答案。存儲過程:如果/如果其他情況下多個查詢
BEGIN CASE assetTypeNo
WHEN 0 THEN
(
SELECT *
FROM
books
)
WHEN 1
THEN
SELECT *
FROM magazines
END;
END
在mySQL.Is中創建存儲過程這可能嗎?如果是這樣。請幫忙。我無法在任何地方找到答案。存儲過程:如果/如果其他情況下多個查詢
試試這個,
DELIMITER $$
CREATE PROCEDURE ProcName
BEGIN
IF assetTypeNo = 0 THEN
SELECT *
FROM ;
ELSEIF assetTypeNo = 1 THEN
SELECT *
FROM magazines
END;
END $$
DELIMITER ;
的語法是不正確的。試試這個腳本 -
BEGIN
CASE assetTypeNo
WHEN 0 THEN
SELECT * FROM books;
WHEN 1 THEN
SELECT * FROM magazines;
END CASE;
END
接受正確的答案。 – Devart 2013-02-12 08:23:31
試試這個。這應該工作。
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;
請參閱http://dev.mysql.com/doc/refman/5.0/en/case.html – ripa 2013-02-11 09:53:19