問題タブ [table-valued-parameters]

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 投票する
0 に答える
207 参照

sql-server-2008 - テーブル値関数、値を返さない?

これは私の機能です:

次のコマンドで呼び出した場合:

両方のテーブルに既存のレコードがある場合でも、列名のみを返し、値は返しません。同じクライアントに 3 つの予約があります。

もう 1 つ質問: 確認済みの予約のみ結果を取得できますか (フィールドの確認済みはビット型です)

ありがとう

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

sql - テーブル値関数

以前は機能していたテーブル値関数がありますが、もう機能していないか、少なくとも時間がかかります。

唯一変更された可能性があるのは、クエリが読み取るテーブルのデータ量です。

これは関数のコードです。

面白いのは、insert ステートメントの直後と return ステートメントの前にクエリだけを実行すると、クエリは数秒で機能することです。

私が間違っているとあなたは何を示唆していますか?

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

sql - 行全体を SQL CLR 関数/sproc に渡す

Forename、Surname、Address1 などの列を含む SQL テーブルで複雑な文字列操作を実行する必要があるプロセスがあります。

このデータ操作を実行するために、さまざまな SQL CLR C# 関数をセットアップしましたが、行全体を 1 つの CLR 関数または sproc に渡したいと考えています。

これを行う最善の方法は何ですか?

テーブル値パラメーターを作成してから SQL CLR SPROC を作成してデータを受け入れることを考えていますが、データは読み取り専用になりますか、それとも C# でデータ操作を実行して新しいデータ セットを返すことができますか?

何か案は?

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

reporting-services - SSRS 2008 のテーブル値パラメーター

多値の文字列と整数のパラメーターをデータ テーブルに変換し、それをストアド プロシージャに渡す必要がある場所から SSRS レポートを生成する必要があります。ストアド プロシージャには、複数のテーブル型パラメーターが含まれています。以前に使用varchar(8000)しましたが、データ型の制限も超えていました。次に、データテーブルの概念を導入することを考えました。しかし、SSRS から値を渡す方法がわかりませんでした。

Using Table-Valued Parameters With SQL Server Reporting Servicesに関する GruffCode の解決策を見つけました。

このソリューションで問題が解決し、レポートを生成できるようになりました。ただし、SSRS が次の 2 つのエラーを返す場合があります。

レポートの処理中にエラーが発生しました。
データセット 'DSOutput' のクエリの実行に失敗しました。
文字列型やバイナリは省略されます。ステートメントは終了されました。

レポート処理で予期しないエラーが発生しました。
タイプ 'System.OutOfMemoryException' の例外がスローされました。

いつ、どこで問題が発生しているのかわかりません。

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

sql - SQL Server 2008 でセット挿入中に int ID を作成する方法

データベースへの 1 回の呼び出しで複数の挿入を行うために、ストアド プロシージャでテーブル値パラメーターを使用することを検討しています。

テーブル値パラメーターには、多かれ少なかれ、挿入先のテーブルの定義を反映する情報が含まれています。ID 列が欠落しているだけです。

次のテーブル定義がある場合:

タイプ定義:

およびストアド プロシージャの定義:

パラメータに複数のデータ セットがある場合、一意の ID を挿入する必要があるものを変更するにはどうすればよいですか?

今、次のステートメントを実行すると

テーブルに以前のレコードがないストアド プロシージャを使用すると、

しかし、複数のレコードを実行すると

私は得る

私が見たいのは

IDを使用せずにこれを効率的に達成するにはどうすればよいですか?

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

c# - Mono 2.10でのテーブル値パラメーター(SqlDbType.Structured)の使用

モノを使用している場合、テーブル値パラメーターをクエリに渡すにはどうすればよいですか?(私は現在バージョン2.10.12を使用しています)

MonoのSqlDbType列挙は、Microsoftの列挙の実装に一致するように拡張されておらず、TypeNameプロパティを含むようにSqlParameterクラスも更新されていないようです。

私と私の質問の背景:

この質問に関する助けは大歓迎です!

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

sql - テーブル値関数で SQL Server 2008 の動的 SQL ステートメントを使用する

動的に作成された SQL ステートメントを使用してテーブルを返すカスタム関数を作成する方法はありますか?

これまでのところ、次のようなことを試しました

しかし、関数を実行するとエラーが発生します。

誰かがここで私を助けてくれることを願っています。

ありがとう、

クリス

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

tsql - レコードの挿入されていないデータの保存

テーブル値パラメーター (TVP) と、C# コードからそれらを使用する方法を試しています。TVP の 1 つの特定の側面は、私に問題を引き起こしています: データのリストをストアド プロシージャに渡し、データがデータベースから戻ってきた後にそのリストを更新したい場合。

リスト内に含まれるサンプル クラスを次に示します。

このリストを TVP を使用するストアド プロシージャに渡す場合、_phoneID と _phoneNumber をデータベースに挿入し、挿入後、_correlationID に基づく _phoneID で電話のリストを更新するにはどうすればよいでしょうか?

サンプル テーブル、型、およびストアド プロシージャを次に示します。

相関 ID を使用する理由は、オブジェクトをアプリケーションからデータベースまで、またその逆方向に追跡できるようにするためです。

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

sql - in 句のテーブル値パラメーターは、単純な in 句よりも遅い

いくつかのIN句を含む SQL クエリがあります。クエリ プランのキャッシュを改善するために、テーブル値パラメーターを使用することにしました。これがサンプルWHERE ID IN (SELECT ID FROM @P1)です。@P1 は次の型の変数です:

しかし、一部のクエリが遅くなることに気付きました。クエリの例は次のとおりです。

私のデータベースで2.1秒で実行されます。

そして古いクエリ:

1.8秒で実行します。

クエリプランの違いに気付きました。最初のクエリのプランは 2 つの部分 (null チェック用と in 句用) で構成され、連結が続きます。2番目の計画は単なるインデックスシークです。

パラメータ化されたクエリを改善して実行速度を上げる方法はありますか?

PS これは抽出されたクエリのサンプルにすぎません。このin (select id from @p1)部分に誤りがあるかどうかを知りたいです。