2012-06-13 46 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) '附近使用正確的語法} return int(11)unsigned BEGIN DECLARE seq_va'at line 2 (我沒有分隔字段發佈時,因爲我通過phpmyadmin(爲我指定它的字段)這樣做) – James

+0

我刪除了「IN」,我得到了更多,我猜所有參數都是函數中的IN參數 – James

回答

1

嘗試在參數去除IN保留字名單。