2014-03-06 19 views
-4
delimiter // 


DROP PROCEDURE IF EXISTS DIAGNOSIS; // 
CREATE PROCEDURE DIAGNOSIS(IN SYM INT, IN DISE VARCHAR(255)) 

BEGIN 
DECLARE I INT DEFAULT 1; 
DECLARE SYM_COL VARCHAR(50);  
DECLARE N INT DEFAULT 1; 
DECLARE C INT DEFAULT 1; 
DECLARE ST VARCHAR(255); 
DECLARE DID INT; 
CREATE TEMPORARY TABLE SYM_TEMP (SID INT, SNAME VARCHAR(50)); 
CREATE TEMPORARY TABLE DISE_TEMP (DID INT, DNAME VARCHAR(100)); 
--error stating problem with syntax!!! 
IF DISE = '' THEN 
    SET SYM_COL = (SELECT SNAME FROM SYMPTOMS WHERE SID = SYM); 
--other set of codes 
END IF; 
END// 
delimiter ; 
+2

爲什麼你正在使用「;」而您將分隔符更改爲// 刪除分號 – avisheks

+0

@ SLaks,我正在考慮此行「DROP PROCEDURE IF EXISTS DIAGNOSIS; //」 – avisheks

+1

您收到了哪些錯誤消息? –

回答

1

取下DROP PROCEDURE語句作爲分隔符分號已經改變 是這樣的:

delimiter // 

DROP PROCEDURE IF EXISTS DIAGNOSIS // 
CREATE PROCEDURE DIAGNOSIS(IN SYM INT, IN DISE VARCHAR(255))  
BEGIN 
DECLARE I INT DEFAULT 1; 
DECLARE SYM_COL VARCHAR(50);  
DECLARE N INT DEFAULT 1; 
DECLARE C INT DEFAULT 1; 
DECLARE ST VARCHAR(255); 
DECLARE DID INT; 
CREATE TEMPORARY TABLE SYM_TEMP (SID INT, SNAME VARCHAR(50)); 
CREATE TEMPORARY TABLE DISE_TEMP (DID INT, DNAME VARCHAR(100)); 
--error stating problem with syntax!!! 
IF DISE = '' THEN 
    SET SYM_COL = (SELECT SNAME FROM SYMPTOMS WHERE SID = SYM); 
--other set of codes 
END IF; 
END// 
delimiter ; 

,我相信其他的代碼都不錯

+2

不要說「試試這個」以及代碼轉儲,你應該至少指出*你改變了什麼。 – LittleBobbyTables

+0

我同意,已經做了編輯,會照顧。謝謝 – avisheks