MySql Функции - PullRequest
       16

MySql Функции

0 голосов
/ 23 ноября 2011

Я совсем новичок в MySql.Я пытаюсь создать функцию:

CREATE FUNCTION GetDefaultLangText(tableName VARCHAR(50), fieldName VARCHAR(50), primaryFieldName VARCHAR(50), langID INT(10), 
                defaultLangID INT(10), itemID INT(10), actValue VARCHAR(200)) RETURNS VARCHAR(200)
BEGIN  
    DECLARE sqlString VARCHAR(200);
    SET sqlString = CONCAT(CONCAT('(SELECT ', fieldName, 
    CONCAT(' FROM ', tableName, ' WHERE LangID = ')), CONCAT(defaultLangID ,' AND ', 
    CONCAT(primaryFieldName, ' = ', CONCAT(itemID, ')', NULL))));

    RETURN IF(actValue = NULL OR (CHAR_LENGTH(actValue) = 0), sqlString, actValue);
END;

Однако, это дает мне синтаксическую ошибку.Я не уверен, что я делаю неправильно, так как я следовал онлайн-документации

1 Ответ

1 голос
/ 23 ноября 2011

Не думаю, что это сработает, если вы используете только ";" в качестве разделителя

Типичное это:

РАЗДЕЛИТЕЛЬ $$

ФУНКЦИЯ ОТМЕНЫ, ЕСЛИ ЕСТЬ mytest $$ СОЗДАТЬ ФУНКЦИЮ mytest () ВОЗВРАЩАЕТ INT НАЧАТЬ

выберите ......;

вставить ......;

END $$

РАЗДЕЛИТЕЛЬ;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...