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

mySQL でストアド プロシージャを作成する際に、これは可能ですか? もしそうなら。助けてください。どこにも答えが見つかりません。

4

3 に答える 3

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 に答える
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

これを試して、

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 に答える