2012-06-13 5 views
1
delimeter // 
DROP function IF EXISTS get_seq_next// 
create function get_seq_next(
IN sequence_ref_ varchar(30) 
) returns int(11) unsigned 
BEGIN 
    DECLARE seq_val_ int(11) unsigned; 
    LOCK TABLE ga_seq_tab WRITE; 
    select sequence_no into seq_val_ from ga_seq_tab where sequence_ref=sequence_ref_; 
    if not seq_val_ is null then 
     update ga_seq_tab set sequence_no=sequence_no+1 where sequence_ref=sequence_ref_; 
    end if 
    UNLOCK TABLES; 
    return seq_val; 
END // 
DELIMETER ; 

Я пытаюсь создать функцию, но она продолжает говорить, что у меня есть синтаксические ошибки, и я не уверен, что случилось с нимСоздание MySQL функции с параметрами

+1

, пожалуйста, сообщите об ошибке. одна проблема заключается в том, что вы ошибочно написаны 'delimiter' – bernie

+0

# 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «IN sequence_ref_ VARCHAR (30) ) возвращает INT (11) без знака НАЧАТЬ DECLARE seq_va» в строке 2 (не имеют поля разделителя там, когда вы отправляете его, когда я делаю это через phpmyadmin (поле, которое указывает его для меня)) – James

+0

Я удалил «IN», и я получил еще больше, я думаю, что все параметры являются параметрами IN в функции – James

ответ

1

Попробуйте удалить IN зарезервированное слово в параметрах список.

Смежные вопросы