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
    select doctype from dms_report where pilot = 1
else
select 'No Documents required'
end case
end;

This is my query i am creating procedure in MySQL, i am getting error in case statement please hlep me why this error is coming how declare case statement why error is coming in workbench for creating procdure

Dhanuka
  • 2,826
  • 5
  • 27
  • 38
Research Development
  • 884
  • 1
  • 19
  • 39

2 Answers2

1

You are missed comma.

    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;
Dhanuka
  • 2,826
  • 5
  • 27
  • 38
Venkatesh Panabaka
  • 2,064
  • 4
  • 19
  • 27
0

Here I formatted your procedure Use delimiter

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 ;
Community
  • 1
  • 1
Kaushik
  • 2,072
  • 1
  • 23
  • 31