問題タブ [dynamic-sql]
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.
sql - SQL CASE ステートメントを使用して選択するテーブルを動的に変更する
ストアド プロシージャを作成しようとしていますが、特定の列の値に応じて、選択するテーブルを変更できるようにしたいと考えています。例を挙げてみましょう:
ご覧のとおり、選択したテーブルを動的に変更しているだけでなく、これら 2 つのテーブルは 2 人の異なる人物によって 2 つの異なる時期に作成されたため、列名も異なります。
だから、私の質問は次のとおりです。これを達成するための最良の方法は何ですか。SQL Server は私が作成したクエリを気に入らないようです。
私がやろうとしていることを見ている人がこれを行うためのより良い方法を提案できるなら、私はすべての耳になります:-)
sql - 動的SQLコンマ区切り値クエリ
[更新:SQLServer2005の使用]
こんにちは、私がやりたいのは、データの行を取得するために、値(ID)のコンマ区切りリストを使用してストアドプロシージャをクエリすることです。
私が受け取っている問題は、変換エラーです。
私のwhere節とエラーのステートメントは次のとおりです。
注:database.IDはint型です。
私は次の記事をフォローしていました:
http://www.sql-server-helper.com/functions/comma-delimited-to-table.aspx
しかし、エラーのために完了しませんでした。
私の実行スクリプトには次のものがあります。
私はここで何か間違ったことをしていますか?ご協力ありがとうございました。
sql - 全文検索でストアド プロシージャを実装する最良の方法
次のユーザー入力が与えられた場合に、MSSQL フル テキスト エンジンで検索を実行したいと思います: "Hollywood square"
結果に、Hollywood と square[s] の両方が含まれるようにします。
Web サーバー (C#、ASP.NET) でメソッドを作成して、次のような SQL ステートメントを動的に生成できます。
簡単です。ただし、速度の利点とパラメーターを追加するためのセキュリティを向上させるために、これをストアド プロシージャで使用したいと考えています。
私のケーキを持って食べてもいいですか?
.net - 異なる SQL リーダー間で共有される SQL 一時テーブル
作成時間が非常に長い結果セットに対して、さまざまなクエリを実行しようとしています。パフォーマンスを向上させるために、一時テーブルを使用し、この一時テーブルに対して多くのクエリを実行したいと考えています。
かなり標準的なようです。それでも、この一時テーブルを動的 SQL で共有するのに苦労しています。私が理解しているように、各 SqlCommand オブジェクトは独自のスレッドで実行されるため、一時テーブルは異なるスコープにあり、クエリスレッドからアクセスできなくなります。
グローバル一時テーブルを使用してみましたが、うまく機能しますが、理想的ではありませんか?
動的 SQL クエリ間でローカル一時テーブルを共有するにはどうすればよいですか?
私の意図:
sql - ストアド プロシージャの変数としての SQL 2000 テーブル名
テーブル名:
RM_master
フィールド:
cust_no
acct_no
acct_code
質問は、テーブル RM_master をストアド プロシージャのパラメータの変数として作成したいですか?
これには構文エラーはありませんが、クエリ アナライザーでストアド プロシージャ名を右クリックしてこれを実行すると、変数テーブル名 (RM_master) が識別されません
。
sql-server - 動的SQLの結果はSQLストアドプロシージャの一時テーブルになります
コードは次のとおりです。
問題は、さまざまな列を返すことができるさまざまなプロシージャを呼び出したいということです。したがって、テーブル#T1を一般的に定義する必要があります。しかし、私は方法がわかりません。
誰かがこの問題について私を助けることができますか?
sql - t-sqlの型が固定長かどうかを(実行時に)調べる方法は?
型 (nvarchar や int など) が固定長であるか、システム テーブルをクエリして固定長でない場合、t-sql を使用してランタイムを調べることは可能ですか?
これを行う必要がある理由は、SQL コード ランタイムを生成する必要があり、一部の列の型 (設計時に不明) に応じて宣言 (DECLARE @foo SOMETYPE(LENGTH)
またはDECLARE @foo SOMETYPE
) を生成する必要があるためです。
私の現在の賭けは、sys.all_columns.max_length = sys.types.max_length
それが固定長であると仮定するかどうかを確認できることmax_length
です(少なくともnvarcharの場合、特別なコード(-1)があるようです)。
tsql - TSQLがMultiValuedReportingServicesパラメーターを動的SQLに渡す
レポートサービスレポートのパラメーターから動的SQLステートメントを作成しています。レポートサービスは、MutiValueパラメータを基本的なCSV形式で渡します。たとえば、州のリストは次のように表すことができます:AL、CA、NY、TN、VA
SQLステートメントでは、これは問題ありません。
ただし、動的バリアントはOKではありません。
これは、(無効なSQL)に変換されるためです。
処理するには、次のようなものが必要です。
動的SQLに一重引用符を挿入するために使用できるクールな式はありますか?