問題タブ [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.
mysql - [MySQL]: テーブル ビューまたは実際のテーブル。(主キーのトレース)
次の関係を持つデータベースがあります。
Transaction.TimeStamp
指定された日付範囲内にあるかどうかに基づいて、Schedule から一連の値を選択する必要があるクエリを実行する必要があります。クエリは、主キーに基づいて Schedule から値を選択する必要があります。主キーはトランザクションから追跡できません。
この問題を解決するために、トランザクションをスケジュールのプライマリに直接リンクするテーブルを作成することにしました。
最近、 Table Viewsを発見しました。これは、テーブルを「ビュー」にするのに適切な状況でしょうか? それとも、「実際の」テーブルを作成する必要がありますTransactionSchedule
か?
私の問題は、テーブルビューがいつ役立つか/その利点が何であるかの詳細を理解していないことです.
トランザクションを追跡するための個々のテーブルを持っています->スケジュールはやり過ぎですか?
この問題に関する一般的なガイダンスは本当にありがたいです。
EDIT :このクエリは、既に入力されたデータを取得するためだけのものです
- ありがとう
sql - 特定のDBオブジェクトがOracleで使用されているかどうかを確認しますか?
こんにちは、特定のDBオブジェクト(テーブル/ビュー/ SP /関数)がOracle内で使用されているかどうかを確認する方法を知っている人はいますか。
たとえば、テーブル「A」がSP/関数またはビューの定義で使用されているかどうかを確認します。データベース内の未使用のオブジェクトをクリーンアップしようとしています。
クエリselect*from all_source WHERE TEXT like'%A%'(Aはテーブル名)を試してみました。結果が返されない場合は、使用されていないと想定しても安全だと思いますか?
sql - mysql は、まだ存在しない場合にのみビューを作成します
ビューが存在しない場合にのみビューを作成するにはどうすればよいですか。存在する場合は、ビューを削除して再定義したいと思います。また、警告やエラーも発生しません。
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 に伝える方法はありますか (これは実際にはビューであるため)、それは私の問題でさえありませんか?
postgresql - PostgreSQL でのアクセス制御にビューを使用する
基本的に内容が次のように要約されるテーブルのスキーマがあります。
- ユーザーのセット
- オブジェクト グループのセット
- どのユーザーがどのグループにアクセスできるかを示すアクセス制御リスト (acl)
- それぞれが 1 つのグループに属するオブジェクトのセット。
アクセス制御をサポートする簡単なアプリケーションを作成したいと考えています。ここではビューが良いアプローチになると思います。
次のデータベースの初期化があるとします。
私のアイデアは、データベースをミラーリングするビューを使用することですが、現在のユーザー (私の PHP スクリプトによって確認された) がアクセスできるものだけにコンテンツを制限することです (ここでは、ユーザー 'bob' を使用します)。すべての PostgreSQL セッションの開始時にこれを実行するとします (つまり、誰かが私のサイトのページにアクセスするたびに)。
私の質問は、これは良いアプローチですか?これらの CREATE TEMPORARY VIEW ステートメントは、特にいくつかの単純なクエリと比較して、大きなオーバーヘッドを生み出しますか?
また、データベース定義でこれらのビューを永続化し、セッションごとに値をユーザー名にバインドする方法はありますか? このように、ユーザーがページをロードするたびにこれらすべてのビューを作成する必要はありません。
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
。:-)
sql - ビューで仮想列を連結できますか?
残念ながら、データベースに平文のパスワードがあります。たとえば、比較や更新のために、これらのプレーンテキスト値をできるだけ少なく渡したいと考えています。この目的のために、プレーンテキストのパスワードを除外し、代わりにそのパスワードのハッシュ値を提供するユーザー テーブルのビューを作成しようとしています。
動作しない私の現在の SQL Server ビューは次のとおりです。
このアプローチの代替案について聞いてうれしいですが、それ以外の場合、問題は仮想列PasswordSaltを連結しているようです. たとえば、次の単純なビューが機能します。
しかし、これはしません:
Management Studio から受け取ったエラーは
列名 'Column1' が無効です。
私が間違っていることについてのアイデアを事前にありがとう!
sql - PostgreSQL ビュー: ある計算フィールドを別の計算フィールドで参照する
#1895500と同じ質問がありますが、MySQL ではなく PostgreSQL を使用しています。
計算フィールドを持つビューを定義するにはどうすればよいですか。たとえば、次のようになります。
...そして、最初のフィールドに基づく別の計算フィールドを作成します。
...?
sql - SQL。フィールドによる並べ替え
SQLで3つのテーブルで構成される単純なビューを作成しました。
右クリックして[デザイン]を選択し、オブジェクトエクスプローラーテーブルでカスタムビューを変更しました。フィールドにsortbyascを追加しました。
問題は、変更がビューの外に反映されないことです。ビューを保存し、[ビューを開く]を選択した後、ソートは出力に表示されません。
では、ここで何が起こっているのでしょうか。
mysql - 現在ビューを使用していますが、代わりにハード テーブルを使用する必要がありますか?
私は現在、次のテーブルによって形成されるビューである私のテーブル、mapping_uGroups_uProducts について議論しています。
私の現在のクエリは次のとおりです。
これはかなり遅いです。(30 件の結果の場合、約 10 秒かかります)。私のクエリが非常に遅い理由は、その特定のクエリが高速化するためのインデックスを持たない VIEW に依存しているという事実によるものだと思います。
ここでの説明はかなり不可解に見えます。ビューを削除して、ビュー内のすべてをハードテーブルに挿入するスクリプトを作成する必要があるかどうかはわかりません。(マッピングが頻繁に変更されるため、明らかにビューの柔軟性が失われます)。
スキーマをより適切に最適化する方法を知っている人はいますか?