2015-06-27 2 views
0
CREATE PROCEDURE temp (IN empId INT) 
     BEGIN 
     DECLARE emptype VARCHAR; 
      SELECT emptype = qoute(emptype) FROM dms_document WHERE id = empid; 
       SELECT emptype, 

    CASE 
    WHEN emptype = 'P' THEN doctype; 

    ELSE 'No Documents required'; 
    END CASE ; 
    FROM dms_report WHERE pilot = 1 
End; 

Я пытаюсь создать процедуру в своем рабочем столе sql, но получаю ключевое слово Error. Почему эта ошибка приходит, пожалуйста, помогите.Ошибка при создании процедуры в моем рабочем столе SQL

+0

Что вы пытаетесь достичь? – Mureinik

ответ

0
DELIMITER // 
CREATE PROCEDURE temp (empId INT) 
    BEGIN 
    DECLARE var_etype VARCHAR(36); 

SELECT 
    emptype = QOUTE(emptype) 
FROM 
    dms_document 
WHERE 
    id = empid; 
SELECT 
    emptype, 
    CASE 
     WHEN emptype = 'P' THEN doctype 
     ELSE 'No Documents required' 
    END 
FROM 
    dms_report 
WHERE 
    pilot = 1; 
End// 
DELIMITER ; 

перспективе это и наслаждайтесь! !!

0

Примечания: Первые

  • Добавить DELIMITER $$ в начале и в конце $$ DELIMITER
  • VARCHAR нуждается в длину, например: VARCHAR(45)
  • CASE не нужна точка с запятой в каждой строке.
  • Ending CASE только с END нет необходимости в CASE ; в конце

Конечный код должен выглядеть так, дайте ему попробовать:

DELIMITER $$ 
CREATE PROCEDURE temp (IN empId INT) 
     BEGIN 
     DECLARE emptype VARCHAR(45); 
      SELECT emptype = qoute(emptype) FROM dms_document WHERE id = empid; 
       SELECT emptype, 

    CASE 
    WHEN emptype = 'P' THEN doctype 

    ELSE 'No Documents required' 
    END 
    FROM dms_report WHERE pilot = 1; 
End $$ DELIMITER ; 
Смежные вопросы