Код: Выделить всё
CREATE DEFINER = 'root'@'localhost'
FUNCTION app.TBL_FC_CONTACT_SAVE(szOp VARCHAR(11), m_Id INTEGER, m_ID_FC INTEGER, m_ID_TYPE INTEGER, m_CONTACT VARCHAR(100))
RETURNS VARCHAR(100)
BEGIN
declare szRet varchar(100);
declare nId integer;
set szRet='';
CASE ifnull(szOp,'-')
WHEN 'add' THEN
set nId= rom.fc_contact_add(m_ID_FC,m_ID_TYPE,NULL,m_CONTACT,NULL);
WHEN 'upd' THEN
call rom.fc_contact_upd(m_ID,m_ID_TYPE,NULL,m_CONTACT,NULL);
WHEN 'del' THEN
call rom.fc_contact_del(m_ID);
ELSE
set nId=0;
END CASE;
RETURN szRet;
END
Встроенный механизм проверки синтаксиса dbForge Studio не правильно обработал выражение CASE ifnull(szOp,'-') и посчитал его ошибочным.
Это баг и мы его исправим в релизной версии dbForge Studio for MySQL v4.0.