2016-09-15 66 views
1

我將此存儲過程從mssql移植到mysql,並且出現錯誤,說我缺少右括號,我似乎無法找到原因。丟失右括號

CREATE PROCEDURE get_oids (IN sys_info VARCHAR(255)) 
BEGIN 
    SELECT oids.id, oids.attribute, oids.description_oid, oids.mib_name, oids.classifier 
    FROM oids 
    INNER JOIN mib_mappings 
     ON mib_mappings.name = oids.mib_name 
    WHERE ((sys_info LIKE '%' + mib_mappings.model + '%' AND sys_info LIKE '%' + mib_mappings.vendor + '%') OR mib_mappings.model = 'ALL') 
     AND oids.nodeType = 'CHILD' AND oids.descriptionOID is not null 
    GROUP BY oids.id, oids.attribute, oids.description_oid, oids.mib_name, o.classifier 
END 
+0

@馬特這一切都已經,還我猜我在GROUP BY子句的最後需要分號 – DorkMonstuh

回答

0

可以請你檢查它,我認爲這個問題是一個像,並在組由年底失蹤分號:

CREATE PROCEDURE get_oids (IN sys_info VARCHAR(255)) 
BEGIN 
SELECT oids.id, 
    oids.attribute, 
    oids.description_oid, 
    oids.mib_name, 
    oids.classifier 
FROM oids 
INNER JOIN mib_mappings ON mib_mappings.name = oids.mib_name 
WHERE ((sys_info LIKE CONCAT('%',mib_mappings.model,'%') 
    AND sys_info LIKE CONCAT('%',mib_mappings.vendor,'%') 
    OR mib_mappings.model = 'ALL') 
    AND oids.nodeType = 'CHILD' 
    AND oids.descriptionOID IS NOT NULL 
GROUP BY oids.id, oids.attribute, oids.description_oid, oids.mib_name, o.classifier; 
END 
+0

剛剛嘗試過,它不起作用 – DorkMonstuh

+0

您能否僅僅提供帶有創建腳本的表結構,以便我可以正確地在此查看。 – Susang

+0

工作,對不起,我沒有看到CONCAT()函數被改變 – DorkMonstuh