SQL SERVER に関して、いくつか質問したいことがあります (サーバーサイド スクリプト プログラミング):
(1) SQL SERVER で SQL ステートメントを使用して現在のデータベース名を取得するにはどうすればよいですか?
(2) ローカル変数の代わりにグローバル変数を定義する方法。ここでは一時テーブルにフィールドを追加したり、一時テーブルにデータを挿入したりするループを定義しています。ただし、これら 2 つの操作は異なるバッチに配置する必要があります (GO ステートメントで区切る必要があります)。
現時点では、ループを制御する変数パラメーターは機能しません。これは、変数パラメーターは 1 つの
バッチでのみ機能し、次のバッチで再定義されるためです。なんて頭が痛いんだ!すべてのバッチで機能するように
グローバル変数を定義できますか?
この 2 つの問題は実は普遍的なものではありませんが、この 2 つの問題を解決する考え方や方法は普遍的なものなので、この 2 つの問題について具体的にお話します
(1) まず、これは、現在のデータベースが使用する必要があることは非常に確実です。 sp_who が実行された後、 Runnable と Slepping があるのを見て、それが実行可能であるに違いないと自然に思いました。はシステム グローバル変数 @@SPID です。まず試してみてください。sp_who @@spid ははは、うまくいきました。この問題の解決策は、システムのストアド プロシージャとシステム グローバル変数に精通していることです。また、観察と思考が得意でなければなりません。
(2) 2 番目の質問に関しては、これは純粋に t-sql プログラミングの考え方の問題です。まず、2 つのストアド プロシージャを判断するために 1 つのルールを使用することには同意しません。これは t-SQL と矛盾するからです。プログラミング標準ですが、問題が発生したので、それを解決する方法を見つける必要があります。データを 2 つのバッチで共有することは不可能であることがわかっているので、カーソルを考え、テストした結果、最終的に成功しました。
http://www.bkjia.com/PHPjc/631186.html