0

SETを使用して変数を設定する場合、1つのステートメントで複数の変数を設定できる場合と、2つの別々の変数を発行する必要がある場合があります。

たとえば、これは正常に機能します。

SET
@uname := 'John',
@acct_trade := 218.01,
@acct_labor := 518.01,
@acct_cntgy := 818.01;

セミコロンは1つだけ使用されます。

ただし、次のような場合:

SET @datestart := '2012-01-01',
SET @dateend :=  '2012-02-29';

動作しません。私は彼らにそれぞれ独自の呼びかけをしなければなりません。

SET @datestart := '2012-01-01';
SET @dateend :=  '2012-02-29';

これは、2つの文字列を要求しているという事実と関係があると思います。今までキャストしてみました。

何か案は?

4

1 に答える 1

1

失敗した例では、SETキーワードが2回あります。2行目から削除すると、機能するはずです。

SET
@datestart := '2012-01-01',
@dateend :=  '2012-02-29';

これは、SETキーワードが最後のセミコロンまで完全なステートメントとして機能するためです。SET別のキーワードにヒットすると、構文が無効になります。

于 2012-09-27T20:06:07.463 に答える