0
BEGIN CASE assetTypeNo 
WHEN 0 THEN 
( 
SELECT * 
FROM 
books 
) 
WHEN 1 
THEN 
SELECT * 
FROM magazines 
END; 
END

在 mySQL 中创建存储过程。这可能吗?如果是这样。请帮忙。我在任何地方都找不到答案。

4

3 回答 3

0

尝试这个,

DELIMITER $$
CREATE PROCEDURE ProcName
BEGIN 
IF assetTypeNo = 0 THEN 
   SELECT * 
   FROM ;
ELSEIF assetTypeNo = 1 THEN
   SELECT * 
   FROM magazines 
END; 
END $$
DELIMITER ;
于 2013-02-11T10:00:43.027 回答
0

试试这个。这应该有效。

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;
于 2013-02-11T10:17:46.283 回答
0

语法不正确。试试这个脚本 -

BEGIN

  CASE assetTypeNo
  WHEN 0 THEN 
    SELECT * FROM books;
  WHEN 1 THEN 
    SELECT * FROM magazines;
  END CASE; 

END
于 2013-02-11T10:15:48.130 回答