問題タブ [table-variable]
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.
c# - SQL Server IF..ELSE が Windows アプリケーションに表示されない
私はこのストアドプロシージャを持っています:
どちらがIF..ELSE
異なることを実行する必要があるかは、指定されたコードによって異なります。
SSMS でコードを実行したところ、完全に機能しました。しかし、C# Windows アプリケーションでコードを使用しようとすると、値が得られません..どうしてそれが可能なのでしょうか? 何か見逃しましたか?
このストアド プロシージャのみがテーブル値を返さなかった....
一時テーブル、テーブル変数を使用してみましたが、それでもテーブル値が返されませんでした...
これはC#コードです:
これは、C# から SQL Server への接続プログラムの一部です。
- すべてのテーブルは SMSS で値を返します。
- すべてのテーブル変数は SMSS で結果を表示します。
- 結果は、ADOAdapter を使用する C# Windows アプリケーションでは表示されませんでした。
- 一時テーブルとテーブル変数を使用してみましたが、うまくいきませんでした。
- を使用しないでみ
IF..ELSE
ましたが、うまくいきませんでした。
sql-server - while 句のパフォーマンスの問題
では皆さん、
長文をあらかじめお詫び申し上げます。これは実際にはちょっと楽しいです。
私は SQL スクリプトを作成しましたが、それは非常に賢いと思ったので、昨日は半ば誇りに思っていました。パフォーマンスの問題で台無しになることが判明し、そのためにテストすることさえできないので、ため息をつくと思うことさえしていない可能性があります。
この問題は、次の例で最もよく説明されています。
列 A | 列 B | C列 | D列
このテーブルでは、次のことを行う必要があります。1.最初の行から始めて、列 A の値が一致する場合は、それに続くデータで行を更新します。2.一致した場合は、更新後に 2 番目の行を削除します。3.次に進みます。一致しなかった場合は次の行に進み、同じプロセスを再実行します。
一致する場合は、以下に基づいて上位の行が更新されます。
- A列:なし
- 列 B: 両方の値が同じ場合は一方の値のまま、そうでない場合は「複数」と記入
- 列 C: 2 つの間の早い方の日付を保持し、
- 列 D: 2 つの間の後の日付を保持し、
次に、下の行を削除します。
私の例は次のようになります。
列 A | 列 B | C列 | D列
これをすべて行うために、2 つのテーブル変数を作成し、両方に同じデータを挿入し、2 番目 (@ScheduleB) を循環して一致を探し、最初のテーブル (@ScheduleA) の行を更新します。次に、@A の行の下の行を削除しました (B と同じであるため)。最後に、一致するものがない場合、@A の次の行に移動してプロセスを最初からやり直しました。少なくとも、それがコードの本来の目的です。以下を参照してください。
問題は、パフォーマンスがひどいことです。Cursor の使用を検討しましたが、パフォーマンスが役立つかどうかはわかりません。
助言がありますか?
編集: 明確にするために、列 B は整数列ではありません。カードは非常に簡単に理解できるため、これを例として使用しただけです。それ以来、K を含めるようにコラムを更新しました。
debugging - MS SQL Management Studio 2012 でデバッグ セッション中にテーブル変数のデータを表示する方法は?
SSMS 2012 を使用して複雑な T-SQL スクリプトをデバッグしたいと考えています。
スクリプトをデバッグ モードで実行し、ブレークポイントを配置したり、スクリプトをステップ実行したりできますが、テーブル変数に格納されている値を確認できません。
Locals
ウィンドウにはこれらすべての変数が表示されますが、それらの値は次のように表示されます(table)
。
コンテキスト メニューや変数をクリックして、変数の内容を表示する方法はありません。
を使用してテーブル変数に対してクエリを実行しようとしましたImmediate Window
が、これも機能しないようです。
デバッグセッションでテーブル変数から値を取得する方法はありますか?
sql-server - テーブル変数エラー: スカラー変数 "@temp" を宣言する必要があります
私は達成しようとしています:
しかし、次のエラーが発生します。
スカラー変数「@temp」を宣言する必要があります。
私は何を間違っていますか?
sql - SQL Server でコレクションをパラメータとして渡すときに IN 句を使用する
クエリは O/p を与える
商品サイズNM
(列名)
「U」、「V」、「X」、「Y」
しかし、これをコードのINクエリへの入力として使用したとき、私はそれを行いました。同じ結果セットは得られません。どうしてこうなるのか…?テーブル MstItemSize には適切なデータがあります。
INSERT INTO @tblRingSize SELECT アイテム FROM dbo.SplitStrings_CTE (@ringSize, ',');
SizeTypeNm ='Ring' の MstItemSize から ItemSizeNm を選択し
、
--('U','V','X','Y')で ItemSizeNm を選択します。( select Replace ( (select STUFF( (select ''',''' + ringSize from @tblRingSize For XML PATH('')),1,2,'') +'''' ) ,' ','' )))
select Replace ( (select STUFF( (select ''',''' + ringSize from @tblRingSize For XML PATH('')),1,2,'') +'''' ) ,' ','')