問題タブ [sql-view]

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

mysql - [MySQL]: テーブル ビューまたは実際のテーブル。(主キーのトレース)

次の関係を持つデータベースがあります。

Transaction.TimeStamp指定された日付範囲内にあるかどうかに基づいて、Schedule から一連の値を選択する必要があるクエリを実行する必要があります。クエリは、主キーに基づいて Schedule から値を選択する必要があります。主キーはトランザクションから追跡できません。

この問題を解決するために、トランザクションをスケジュールのプライマリに直接リンクするテーブルを作成することにしました。

最近、 Table Viewsを発見しました。これは、テーブルを「ビュー」にするのに適切な状況でしょうか? それとも、「実際の」テーブルを作成する必要がありますTransactionScheduleか?

私の問題は、テーブルビューがいつ役立つか/その利点が何であるかの詳細を理解していないことです.

トランザクションを追跡するための個々のテーブルを持っています->スケジュールはやり過ぎですか?

この問題に関する一般的なガイダンスは本当にありがたいです。

EDIT :このクエリは、既に入力されたデータを取得するためだけのものです

- ありがとう

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

sql - 特定のDBオブジェクトがOracleで使用されているかどうかを確認しますか?

こんにちは、特定のDBオブジェクト(テーブル/ビュー/ SP /関数)がOracle内で使用されているかどうかを確認する方法を知っている人はいますか。

たとえば、テーブル「A」がSP/関数またはビューの定義で使用されているかどうかを確認します。データベース内の未使用のオブジェクトをクリーンアップしようとしています。

クエリselect*from all_source WHERE TEXT like'%A%'(Aはテーブル名)を試してみました。結果が返されない場合は、使用されていないと想定しても安全だと思いますか?

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

sql - mysql は、まだ存在しない場合にのみビューを作成します

ビューが存在しない場合にのみビューを作成するにはどうすればよいですか。存在する場合は、ビューを削除して再定義したいと思います。また、警告やエラーも発生しません。

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

django - 既存のデータベース/SQL ビューの django モデルを作成していますか?

ビューの定義を $template_dir/sql/$someTableName.sql ファイルに挿入しました。(ビューの作成または置換) を実行するたびsyncdbに、db ビューが作成されます。

そのビューにアクセスするpythonクラスをmodels.pyで作成できますか?

代わりにPythonの生のSQL機能を使用する方が良い方法ですか?

- -編集 - -

私が抱えているもう1つの問題は、ビューに主キーがないことですが、エラーが発生するため、djangoは主キーがあると想定してcaught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'")いるようですが、そのようなメンバーが定義されていません:

だから私の推測では、django は CurrentLeagues クラスで主キーを定義していないことを合理的に認識しているので、Django はid. 主キーがないことを Django に伝える方法はありますか (これは実際にはビューであるため)、それは私の問題でさえありませんか?

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

postgresql - PostgreSQL でのアクセス制御にビューを使用する

基本的に内容が次のように要約されるテーブルのスキーマがあります。

  • ユーザーのセット
  • オブジェクト グループのセット
  • どのユーザーがどのグループにアクセスできるかを示すアクセス制御リスト (acl)
  • それぞれが 1 つのグループに属するオブジェクトのセット。

アクセス制御をサポートする簡単なアプリケーションを作成したいと考えています。ここではビューが良いアプローチになると思います。

次のデータベースの初期化があるとします。

私のアイデアは、データベースをミラーリングするビューを使用することですが、現在のユーザー (私の PHP スクリプトによって確認された) がアクセスできるものだけにコンテンツを制限することです (ここでは、ユーザー 'bob' を使用します)。すべての PostgreSQL セッションの開始時にこれを実行するとします (つまり、誰かが私のサイトのページにアクセスするたびに)。

私の質問は、これは良いアプローチですか?これらの CREATE TEMPORARY VIEW ステートメントは、特にいくつかの単純なクエリと比較して、大きなオーバーヘッドを生み出しますか?

また、データベース定義でこれらのビューを永続化し、セッションごとに値をユーザー名にバインドする方法はありますか? このように、ユーザーがページをロードするたびにこれらすべてのビューを作成する必要はありません。

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

sql - ビュー列をNOT NULLにする方法

列を true または false のみにするビューを作成しようとしています。しかし、私が何をしても、SQL Server (2008) は私のビット列が何らかの形で null になる可能性があると信じているようです。

「ステータス」列を持つ「製品」というテーブルがありますINT, NULL。ビューで、Product.Status 列が 3 の場合は BIT 列を true に設定し、それ以外の場合はビット フィールドを false にして、Product の各行の行を返したいと考えています。

SQL の例

このクエリをビューとして保存し、オブジェクト エクスプローラーで列を確認すると、列 HasStatus が に設定されていBIT, NULLます。ただし、NULL であってはなりません。この列を強制的に にするために使用できる魔法の SQL トリックはありますかNOT NULL

CAST()の周りを削除するCASEと、列は として正しく設定されますNOT NULLが、列のタイプは に設定されINTます。これは私が望むものではありません。であってほしいBIT。:-)

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

sql - ビューで仮想列を連結できますか?

残念ながら、データベースに平文のパスワードがあります。たとえば、比較や更新のために、これらのプレーンテキスト値をできるだけ少なく渡したいと考えています。この目的のために、プレーンテキストのパスワードを除外し、代わりにそのパスワードのハッシュ値を提供するユーザー テーブルのビューを作成しようとしています。

動作しない私の現在の SQL Server ビューは次のとおりです。

このアプローチの代替案について聞いてうれしいですが、それ以外の場合、問題は仮想列PasswordSaltを連結しているようです. たとえば、次の単純なビューが機能します。

しかし、これはしません:

Management Studio から受け取ったエラーは

列名 'Column1' が無効です。

私が間違っていることについてのアイデアを事前にありがとう!

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

sql - PostgreSQL ビュー: ある計算フィールドを別の計算フィールドで参照する

#1895500と同じ質問がありますが、MySQL ではなく PostgreSQL を使用しています。

計算フィールドを持つビューを定義するにはどうすればよいですか。たとえば、次のようになります。

...そして、最初のフィールドに基づく別の計算フィールドを作成します。

...?

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

sql - SQL。フィールドによる並べ替え

SQLで3つのテーブルで構成される単純なビューを作成しました。

右クリックして[デザイン]を選択し、オブジェクトエクスプローラーテーブルでカスタムビューを変更しました。フィールドにsortbyascを追加しました。

問題は、変更がビューの外に反映されないことです。ビューを保存し、[ビューを開く]を選択した後、ソートは出力に表示されません。

では、ここで何が起こっているのでしょうか。

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

mysql - 現在ビューを使用していますが、代わりにハード テーブルを使用する必要がありますか?

私は現在、次のテーブルによって形成されるビューである私のテーブル、mapping_uGroups_uProducts について議論しています。

私の現在のクエリは次のとおりです。

これはかなり遅いです。(30 件の結果の場合、約 10 秒かかります)。私のクエリが非常に遅い理由は、その特定のクエリが高速化するためのインデックスを持たない VIEW に依存しているという事実によるものだと思います。

ここでの説明はかなり不可解に見えます。ビューを削除して、ビュー内のすべてをハードテーブルに挿入するスクリプトを作成する必要があるかどうかはわかりません。(マッピングが頻繁に変更されるため、明らかにビューの柔軟性が失われます)。

スキーマをより適切に最適化する方法を知っている人はいますか?