2017-08-21 1 views
0

私はMysqlワークベンチを初めて使用しており、EERモデルをテストデータベースに転送しようとしています。それが何を意味するかわからない。MySQL Workbenchのフォワードエンジニアリングデータベース - エラー1304:FUNCTION GET_NEXT_SEQが既に存在します

私はこのエラーを解決すると想像しているように、既に定義されているように関数定義を削除したいと思っていますが、元の定義が新しい定義と同じであるかどうかわからないためですこのメソッドを信頼してください。

Executing SQL script in server ERROR: Error 1304: FUNCTION GET_NEXT_SEQ already exists

SQLコード:

CREATE DEFINER=`masteruser`@`%` FUNCTION `GET_NEXT_SEQ`(`SEQNAME` VARCHAR(50)) RETURNS varchar(50) CHARSET utf8 
BEGIN 
    DECLARE CURVALUE INT; 
    UPDATE sequence_log SET CURRENT_VALUE = (CURRENT_VALUE + 1) WHERE SEQUENCE_NAME = SEQNAME; 
    SELECT CURRENT_VALUE INTO CURVALUE FROM sequence_log WHERE SEQUENCE_NAME = SEQNAME; 
    RETURN LPAD(CURVALUE,9,0); 
END 

私は逆の同じデータベースのエンジニアリングからEERを得ました。

答えて

0
delimiter $$ 
CREATE FUNCTION `GET_NEXT_SEQ_VAL`(`SEQNAME` VARCHAR(50)) RETURNS varchar(50) CHARSET utf8 
     BEGIN 
     DECLARE CURVALUE INT; 
     UPDATE sequence_log SET CURRENT_VALUE = (CURRENT_VALUE + 1) WHERE SEQUENCE_NAME = SEQNAME; 
     SELECT CURRENT_VALUE INTO CURVALUE FROM sequence_log WHERE SEQUENCE_NAME = SEQNAME; 
     RETURN LPAD(CURVALUE,9,0); 
     END 

新しい名前で新しい関数を作成するだけで簡単に作成できます。

関連する問題