2013-02-11 44 views

回答

0

试试这个,

DELIMITER $$ 
CREATE PROCEDURE ProcName 
BEGIN 
IF assetTypeNo = 0 THEN 
    SELECT * 
    FROM ; 
ELSEIF assetTypeNo = 1 THEN 
    SELECT * 
    FROM magazines 
END; 
END $$ 
DELIMITER ; 
0

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

BEGIN 

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

END 
+0

接受正确的答案。 – Devart 2013-02-12 08:23:31

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;