2011-01-19 4 views
1

以前のサーバーで使用されていた非常に長いルーチンがありました。 新しいサーバーに移行したところ、SQL構文エラーが発生しました。直前に)あなたが11で構文エラーを持っている必要がありmysqlの中やMySQL Workbenchでこれを実行することによりは、myvar int(11)を宣言します。 mysqlルーチンで構文エラーが返される

create procedure test() 
begin 

declare myvar int(11); 

select myvar; 

end 

;:

は、だから私は、テストをしました

何が起こっているのですか?

私は、彼らは、私はちょうど私はまだ同じ問題を得ることを確認するために、他のデータ・タイプで試してみたdeclare [variablename] [datatype]

を言う被写体にMySQLのリファレンスを見てきました。

ご協力いただきありがとうございます。

答えて

2

変数を宣言すると、変数の長さは表示されません。これらの数値は、表の列定義のみを対象としています。

ちょうど

DECLARE myvar INT; 
+0

ありがとうございました:) それは動作しません。私はあらゆる方法で試しました。 intを使用すると、構文エラーのみが()の代わりにINTに移動します。 –

+1

@ndefontenay:デリミタと関係があるかもしれませんが、わかりません。 'CREATE'の前に' DELIMITER // 'を、' END'の後に 'DELIMITER;'を実行し、内部の ';'を '//'に変更してください。 – BoltClock

+0

ok。しましょう。ヒントをありがとう:) –

1

さらに宣言を開始後の最初の文になりません。それ以外の場合は、常にエラーが発生します。

関連する問題