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