2014-01-19 73 views
0

我一直在試圖執行下面的查詢沒有任何運氣。它說:phpmyadmin - 錯誤的sql查詢

#1064 - 你的SQL語法有錯誤;檢查手冊中 對應於你的MySQL服務器版本正確的語法在第32行

我無法指出任何錯誤使用 「」附近。任何人都可以告訴我我在這裏做錯了什麼?

DELIMITER $$ 
-- 
-- Procedures 
-- 
CREATE PROCEDURE `Acc_Ledger`(IN `startDate` VARCHAR(200), IN `endDate` VARCHAR(200), IN `p_id` INT) 
BEGIN 
    DECLARE RunningTotal, deb, cred DECIMAL(19,2); 
    DECLARE counter, row_count int; 

    SET RunningTotal = 0; 
    SET counter = 1; 

    DROP TABLE IF EXISTS LedgerTbl; 

    CREATE TEMPORARY TABLE LedgerTbl (CTR int primary key auto_increment, PARTY_ID INT,VRDATE VARCHAR(200),VRNOA VARCHAR(200),ETYPE VARCHAR(50),DESCRIPTION VARCHAR(500),DEBIT DECIMAL(19,2),CREDIT DECIMAL(19,2),RTotal DECIMAL(19,2)); 

    INSERT INTO LedgerTbl 
    SELECT null, PARTY_ID,VRDATE,DCNO,ETYPE,DESCRIPTION,DEBIT,CREDIT, null FROM pledger WHERE PARTY_ID=p_id AND DATE(VRDATE) BETWEEN startDate AND endDate 
    ORDER BY VRDATE,ETYPE,DCNO; 

    SET @RunningTotal := 0; 

    SELECT SUM(DEBIT)-SUM(CREDIT) FROM pledger WHERE DATE(VRDATE) < startDate AND party_id = p_id INTO @RunningTotal; 

    IF ISNULL(@RunningTotal) THEN 
     SET @RunningTotal := 0; 
    END IF; 

    UPDATE LedgerTbl 
    SET RTotal = (@RunningTotal := @RunningTotal + (DEBIT - CREDIT)); 

    SELECT * FROM LedgerTbl; 
END$$ 

回答

0

我錯過

DELIMITER ; 

在查詢結束。增加了這一點,一切工作正常。