27

@変数にアクセスする場合としない場合の違いは何ですか?

4

2 に答える 2

22

@ユーザー定義 のセッション変数になります。それ以外の場合は、(ストアドプロシージャ内の)ローカルスコープの変数になります。それを実行する前に、ローカルにアクセスする必要があります。必要に応じて、グローバルシステム変数(またはを使用)を設定することもできます。また、またはまたは。を使用したセッションシステム変数。DEFINESET SET GLOBALSET @@globalSET SESSION varSET @@session varSET @@var

ドキュメントSETからの詳細:修飾子が存在しない場合は、セッション変数を変更します(そのため、最初にストアドプロシージャでローカルを使用します)。複数のシステム変数を設定した場合、ステートメントの最新または修飾子は、修飾子が指定されていない後続の変数に使用されます。SETDEFINEGLOBALSESSION

ここにもっと(そしていくつかの良い例):

于 2012-05-09T14:31:17.840 に答える
5

この表記は、ここで説明されているように、ユーザー定義変数に使用されます:http: //dev.mysql.com/doc/refman/5.0/en/user-variables.html

于 2012-05-09T14:23:10.193 に答える