問題タブ [sql-variant]

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 に答える
764 参照

sql-server - 変数を sql_variant 型としてストアド プロシージャに渡す際の問題

変数を SQL_Variants として受け取るストアド プロシージャに、異なる型の変数を渡そうとすると問題が発生します。

私が呼び出しているストアドプロシージャは次のとおりです。

別のストアド プロシージャからこのストアド プロシージャへの呼び出しを次に示します。

この呼び出し/ストアド プロシージャをデバッグしようとすると、デバッガはこのストアド プロシージャをスキップし、出力パラメータは設定されません。はい、デバッグ手順に自信があります... SSMS と VisualStudio 2015 の両方を試しました。どちらも、デバッグ時にこの呼び出しをステップオーバーしているようです。場合によっては、この呼び出しが正しく機能し、usp_GetOrCreateCorrespondenceBatchID が正しく実行されることがあります。問題を追跡しようとして数日後、呼び出しが常に機能する場合と機能しない場合の明確なケースを見つけることができません。このストアド プロシージャは、多くの親ストアド プロシージャから呼び出されます。常に機能するストアド プロシージャと機能しないストアド プロシージャの呼び出しに一貫性がありません。ストアド プロシージャ A の呼び出しが機能する場合もあれば、ほとんどの場合は機能しない場合もあります。

パラメータ テーブルは非常に単純です。

パラメータを sql_variant として渡す理由は、異なるバッチには異なるタイプの異なるパラメータがあり、選択時にキャストする必要がなく、後で適切なタイプの値を選択する方がはるかに簡単だからです。

私は何を間違っていますか?

パラメータの文字列値だけを保存し、パラメータ テーブルから選択するときにキャストすることができます。この呼び出しが正しく機能していない理由がわからない場合は、このルートに進みます。

これは単に SQL_Variant 型の弱点ですか? SQL サーバーで何かが正しく構成されていませんか?

SQL Server 2012 標準。データベースのバージョンは同じです。

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

orientdb - SQL Server SQL_VARIANT データ型を OrientDB 頂点にインポートする - どのプロパティ型を使用すればよいですか?

MS SQL Server の代替として OrientDB を評価しています。OrientDB にインポートする必要がある SQL Server テーブルの 1 つには、SQL_VARIANT データ型を使用した値列を持つ時系列データが含まれています。新しい OrientDB 頂点の同等のプロパティに使用する最適なデータ型を特定するのに苦労しています。これを STRING に変換するのをためらっていますが、同等のバリアント型が見つかりません。推奨事項はありますか?

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

snowflake-cloud-data-platform - スノーフレークのバリアント列からサブセットを作成する方法は?

たとえば、バリアント列「xyz」が次のようなデータで構成されているとします。

上記のバリアント列から新しいバリアント列が必要です。これには、「post*」キー値のみが必要です。以下のような出力は次のようになります。

これを達成する方法はありますか?