問題タブ [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.

0 投票する
15 に答える
233487 参照

sql - 名前が特定の文字列で始まるすべてのテーブルを削除します

名前が特定の文字列で始まるすべてのテーブルを削除するにはどうすればよいですか?

INFORMATION_SCHEMAこれは、いくつかの動的SQLとテーブルを使用して実行できると思います。

0 投票する
3 に答える
3303 参照

sql - 複数のSQLテーブルを動的に検索するためのパターンが必要

複数のテーブルで動的検索を実行するためのパターンを探しています。

従来の(そして不十分に設計された)データベーステーブル構造を制御することはできません。

ユーザーが履歴書内のデータのいずれかに対して検索を実行し、検索条件に一致する履歴書のリストを取得したい場合がある履歴書検索に似たシナリオを考えてみます。任意のフィールドをいつでも、1つ以上の他のフィールドと組み合わせて検索できます。

実際のSQLクエリは、検索されるフィールドに応じて動的に作成されます。私が見つけたほとんどの解決策は複雑なifブロックを含みますが、これは今では解決された問題であるに違いないので、もっと洗練された解決策が必要だと思わずにはいられません。


ええ、それで私はコードでSQLを動的に構築する道を歩み始めました。ひどいようです。任意のテーブルの任意のフィールドの任意の組み合わせをクエリする要求された機能を実際にサポートしようとすると、これはifステートメントの1つのMASSIVEセットになります。 震える


COALESCEは、データにNULLが含まれていない場合にのみ機能することを読んだと思います。あれは正しいですか?もしそうなら、私はいたるところにNULL値があるので、行きません。

0 投票する
16 に答える
119085 参照

sql-server - SQL Server で、特定のテーブルに対して CREATE TABLE ステートメントを生成するにはどうすればよいですか?

この問題の解決策を考え出すのにかなりの時間を費やしたので、この投稿の精神に沿って、他の人にも役立つと思うので、ここに投稿します。

より良いスクリプトや追加するものがあれば、投稿してください。

編集:はい、Management Studio で行う方法は知っていますが、別のアプリケーション内から行う必要がありました。

0 投票する
6 に答える
2286 参照

dynamic-sql - SQL クエリのヘルプ - 多肢選択式テストの採点

Student テーブルがあるとします。これには int ID があります。5 つの可能な回答を持つ 10 の多肢選択問題の固定セットがあります。質問 ID、Student.answer (1-5)、および Student.ID を持つ正規化された回答テーブルがあります。

特定の割合を超えるすべてのスコアを返す単一のクエリを作成しようとしています。この目的のために、Student.answers と正解を受け入れる単純な UDF を作成したので、20 個のパラメーターがあります。

回答テーブルを非正規化し、それを自分のアプリケーションに取り込み、自分のアプリケーションでスコアリングを行う方がよいかどうか疑問に思い始めています。

このようなことに取り組み、洞察力を持っている人はいますか?

0 投票する
4 に答える
8045 参照

sql - 動的 SQL - 検索クエリ - 可変数のキーワード

従来の ASP 検索エンジンを更新して、SQL インジェクションから保護しようとしています。さまざまな検索パラメーターに基づいてクエリを連結することにより、クエリを動的に構築する VB 6 関数があります。これを、キーワードを除くすべてのパラメーターに対して動的 SQL を使用してストアド プロシージャに変換しました。

キーワードの問題は、ユーザーが提供する可変数の単語があり、キーワードごとに複数の列を検索する必要があることです。キーワードごとに個別のパラメーターを作成することはできないため、安全なクエリを作成するにはどうすればよいでしょうか?

例:

これを処理し、SQL インジェクションからの保護を維持する最善の方法は何ですか?

0 投票する
21 に答える
241230 参照

sql - WHERE 1=1 AND を使用する理由SQL句で?

なぜ誰かがWHERE 1=1 AND <conditions>SQL句で使用するのでしょうか(連結された文字列を介して取得されたSQL、またはビュー定義のいずれか)

これが SQL インジェクションから保護するために使用されることをどこかで見たことがありますが、非常に奇妙に思えます。

注入WHERE 1 = 1 AND injected OR 1=1がある場合は、 と同じ結果になりinjected OR 1=1ます。

後で編集: ビュー定義での使用法はどうですか?


回答ありがとうございます。

それでも、誰かがビューを定義するためにこの構造を使用したり、ストアド プロシージャ内で使用したりする理由がわかりません。

たとえば、次のようにします。

0 投票する
5 に答える
2176 参照

sql-server - 動的 SQL にはどのような危険性があり、回避できるのでしょうか?

オフショア開発者が提供する新しいアプリケーションでの複雑な検索クエリの解決策として、次のコードが提供されました。'; を使用して SQL ステートメントを閉じることができるため、動的 SQL の使用には懐疑的です。そして、データベースで実行される厄介なことを実行します!

インジェクション攻撃を修正する方法についてのアイデアはありますか?

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

java - Java - Ibatis - ロールに基づく動的クエリを使用した mySQL

フロントエンドに Flex/Flash を搭載した Java - Ibatis と mySQL を使用しています。ユーザーの役割に応じて、クレテリアとテーブルをクエリに動的に追加できるという要件が 1 つあります。ここに例があります

同じ SQL を呼び出す同じオブジェクトですが、役割に基づいて結果が異なります

役割 1 : 従業員への完全なアクセス

役割 2 : 従業員への限定的なアクセス

動的 SQL を使用できます

他のアイデア?

0 投票する
5 に答える
30322 参照

sql - SQL 2008 で外部キー関係から削除ステートメントを生成しますか?

スクリプト/ツールを使用して、テーブルの関係に基づいて削除ステートメントを生成することは可能ですか?

つまり、テーブル DelMe(ID) があり、最初に削除する必要がある ID への fk 参照を持つ 30 個のテーブルがあります。FK リレーションに基づいて 30 個の削除ステートメントを生成する実行可能なツール/スクリプトはありますか?私のため ?

(ちなみに、関係のカスケード削除について知っていますが、この既存のデータベースでは使用できません)

Microsoft SQL Server 2008 を使用しています