SQLストアド・プロシージャの変数を宣言するために宣言し使用して

問題は、私は以上の仕上げ方法により、自分の入念な調査に他の人から答えは理解して、百度から2番目のページへの答えを見つけました。
オリジナルリンクします。https://zhidao.baidu.com/question/245490659799230284.html


ストアドプロシージャは、次のように見られている場合のステートメントはバッチもっと理解したいです


変数はプロセス全体で必要とされている場合、ストアドプロシージャは、SQLステートメントのバッチと名前だけであると宣言することができ、しかし、変数の宣言は、バッチ操作(ストアドプロシージャ)の中で生き残ることができ、実行が後に終了します消えて、この文の形式は次のとおりです。変数名の型を宣言します


前記変数が互いに区別されると、データベース内の列名を呼ばれ、変数名がフロント@記号を持っているので、例えば:@count int型を宣言


@Countは、あなたは整数型変数として変数@countを使用することができ、int型の変数を宣言することです。ここではいくつかの誤解もカウントが変数名であるが、唯一の記号@は、実際には、関係なく、理解のどのような変数宣言に偏見なしで、実際には、それがあるべきではないことを示唆し、一部の人々は、@countは変数名だと思うがあるかもしれません@countは、変数名がより適切であると呼ばれています。


ただ、変数の宣言の後、言ったバッチまたはストアドプロシージャでのみ生き残るには、それを実行している、つまり、ローカル変数、実際には、SQL変数が存在しているグローバル変数、彼らは@@で始まるが、現在のSQLはまた、顧客がシステム内でのみ存在し、グローバル変数を宣言することはできませんたとえば、クエリシステムのバージョンは、あなたが表示するバージョンの道を選択する。@@使用することができます。それは宣言することはできませんので、その状況が使用することを宣言していません。


実際には、単語のSQLの解釈における変数は非常に深いです、クラス変数がありますあるテーブル名、列名、ストアドプロシージャなどの名前、これらの名前は、実際にグローバル変数データベースである限り、テーブルが存在するとして、その後、テーブル名意志テーブルには、列名が同じで、masterデータベースに存在する、変数のこのタイプは、特別な、すべて持っている既存のオブジェクト(オブジェクト)ので、それらを宣言する必要があり、そうだったしていないデータベースやテーブルを構築する際に、その宣言あなたは求めていません@記号の前に、この場合に変数を使用することができます。


そのため、通常の状況下では、我々は唯一宣言する必要はありません@@変数、データベース関連の変数のための無フロント、およびシステム変数の前@言うことができます。しかし、他の人は必要ありませんしながら、限りのカスタム変数@使用するときのように、あなたは、選挙を宣言しなければなりません

おすすめ

転載: www.cnblogs.com/donelyorjune/p/11104981.html