問題タブ [sp-executesql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
387 参照

tsql - sp_executesql とユーザー定義のスカラー関数

以下の表では、次のようないくつかの条件を保存しています。

ここに画像の説明を入力

次に、通常、2 番目のテーブルには次のレコードがあります。

ここに画像の説明を入力

そして、必要なのは、正しい条件を使用してこれらの値を比較し、結果を保存することです (追加の列で、false の場合は「0」、true の場合は「1」としましょう)。

これをストア プロシージャで実行し、基本的に数から数百のレコードを比較します。

可能な解決策は、動的ステートメントを構築する各行に sp_executesql を使用することです。もう 1 つは、独自のスカラー関数を作成し、クロス適用を使用して簡単な行に対して呼び出すことです。

どちらがより効率的な方法か誰にもわかりますか?

注: これに答える最善の方法は、2 つのソリューションを作成してテストすることであることはわかっていますが、キャッシングや SQL 内部最適化などの他のものに基づいて、この答えが得られることを願っています。これはより大きな問題の一部にすぎないためです。

0 投票する
1 に答える
6665 参照

sql-server - Try & Catch内のsp_executesql

上記のスクリプトは、テーブル T1 が MyLinkedServer に存在しない場合に失敗し、Catch セクションに送られません。何が恋しいですか?

明確にするために、元のプロシージャは、パラメータを使用してプロシージャ内で @SQL を動的に構築します。

ありがとう!

0 投票する
2 に答える
10759 参照

sql-server-2005 - sp_executesql または exec(@var) が長すぎます。最大長は 8000 です

大きなクエリがあるため、ルールによって本番環境でリンクサーバーを使用できません。varchar(max)これが8000文字を超えるaを渡します。

しかしsp_executesql、8000 を超える文字をサポートしていない場合、どうすれば文字列を実行できますか?

0 投票する
1 に答える
216 参照

sql-server - スキップ (またはオプションのパラメーターを指定しない)

でスキップする (またはオプションのパラメーターを指定しない) にはどうすればよいDatabase.ExecuteSqlCommandですか?

私は運なしで次のことを試しました..それはまだ私が@Frequencyパラメータを提供することを期待しています

編集:

「@Frequency」パラメータは、将来ストアド プロシージャから完全に削除されます。まだ提供しているレガシーアプリケーションがいくつかあり@Frequency、すべてのアプリケーションで変更することはできません。新しく作成されたアプリケーションは、@Frequency