問題タブ [updatable-views]

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

mysql - MySQL の更新可能なビューの主キー

MySQL の更新可能なビューで主キーを作成することは可能ですか。もしそうなら、どうやってそれを作成できますか?

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

sql-server - マージを使用してビューでトリガーする代わりに、テーブルのデフォルト値を適用しません

挿入/更新のトリガーの代わりに使用する更新可能なビューがあります。そのトリガーは Merge を使用します。Merge ステートメントが基礎となる物理テーブルからデフォルトの制約を適用していないことがわかりましたが、マージのドキュメントではそうすべきであることが示唆されています。

次の例は、次のことを示しています。

INSTEAD OF INSERT トリガーでのデフォルト値の使用に似たようなことがあり、挿入された行を一時テーブルにコピーし、一時テーブルを変更して物理テーブルからデフォルトの制約を追加することで解決しました。これらの追加手順のパフォーマンスの問題を許容できるかどうかはわかりません。

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

mysql - caseステートメントから派生した列でビューを更新するにはどうすればよいですか?

これを使用してビューを作成しました(他の列は無視されました):

しかし、次を使用してビューを更新しようとしたとき:

それは動作しません。それを行う方法はありますか?ビューはOracleにありますが、リモートテーブルはmySQLにあります

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

sql - Oracle SQL での更新可能なビューの用途は何ですか?

私は探していましたが、更新可能なビュー(ターゲットテーブルに影響を与える変更で変更できるビュー)を使用する利点をリストしている場所を見つけることができません。

マテリアライズド ビューが便利な理由 (速度、セキュリティなど) は理解していますが、更新可能なビューには結合やその他の便利な最適化を含めることができないため...

それらが役立つ理由を誰でも挙げることができますか? オラクルには、それらを実装する正当な理由があると確信しています。

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

sql - 複数のベース テーブルと完全なパフォーマンスを備えた Microsoft SQL Server (MSSQL) の更新可能なビュー

MSSQL 2008 R2 を使用しています。更新可能なビューの便利な機能があります。たとえば、id を名前にマッピングする 1 つのテーブル t があるとします。

次に、いくつかの ID とその他の情報を示す別のテーブル:

便宜上、名前列で拡張された u からの行を表示できるビューを示します。

次に、ID ではなく名前で更新できるようになりました。

最も便利です。しかし、「fred」の行を削除したい場合はどうなりますか?

エラーが発生します

変更は複数のベース テーブルに影響するため、ビューまたは関数 'v' は更新できません。

結合されたテーブルを使用した SQL 更新可能ビュー(Oracle を指しますが、MSSQL の場合も状況は同じように見えます)で説明されているように、キー保存テーブルが 1 つしかない限り、複数のベース テーブルに対して更新可能なビューを作成できます。大まかに言えば、これは、テーブルの行がビューに最大 1 回表示される場所です。上記のビューでは、t と u の両方がキー保存テーブルであることがわかります。しかし、ビューの定義を微調整することでごまかすことができます。

これにより、以前と同じ行が得られますが、更新が可能になりました。

意味的には、t からのすべての行がビューに最大 1 回しか表示されないことは変わりませんが、通常の方法で t に結合していないため、更新制限に該当しません。さらに、このビューから削除することもできます:

これは正しいことを行い、基になるテーブル u から削除しますが、t からは削除しません。明らかに、単純な結合として表された以前のビューでは、「削除」操作が行を u または t (または両方) から削除する必要があるかどうかを判断する方法はありません。

多くの「選択」クエリでは、書き換えられたビューを使用した実行計画が少し異なるため、場合によっては実行が少し遅くなることが予想されます。オプティマイザーが (この特定のケースでは、一意のインデックスが存在するため) 2 つのビューに同じデータがあることを確認できないのは残念です。

関数を使用して更新可能なビューを作成することもできます。

これにより、さらに異なる (多くの場合、より複雑な) クエリ プランが得られる可能性があるため、さらに遅くなる可能性があります。

したがって、更新可能なビューを作成する方法は 2 つありますが、完全に満足できるものではありません。更新操作と削除操作が機能するのは良いことですが、選択クエリでビューが 2 つのテーブルの単純な結合よりもパフォーマンスが低下しないことを確認してください。おそらく、クエリ エンジンに与えることができるヒントがいくつかあります。誰でも何か提案できますか?

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

android - ウィジェットの TextView に現在の時刻を表示する方法

更新可能な textView で現在の時刻を表示したい 本当の方法が見つからない 毎分更新したい 誰か助けてくれませんか? ありがとう

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

c# - フォーム経由でビューを更新できますか?

フォームを元のテーブルにバインドせずに、フォームを介してデータを更新することは可能ですか?

SQL ビューがマップされているメイン テーブル内のデータの小さなサブセットをユーザーが更新する必要があります。以下は、データの更新に使用されるコードの例です。

残念ながら、ビューには主キーを含めることができないため、データを更新しようとすると次のエラーが発生します。

EntitySet 'AddressView' を更新できません。DefiningQuery があり、現在の操作をサポートする要素が要素に存在しないためです。

典型的な SQL Update ステートメントを使用せずに可能な回避策はありますか? 可能であれば Entity Framework に固執したいと思います。

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

java - ResultSet.updateRow 関数による更新可能なビューの行の更新

PostgreSQL サーバーに更新可能なビューがあります。

更新クエリは、pgAnmin3 コンソールから実行すると正常に動作しますが、このビューをResultSet.updateRow()メソッドで更新しようとすると、次のエラーが発生します。

org.postgresql.util.PSQLException: テーブルの主キーが見つかりません

ビューの主キーを指定できないと思います。

ResultSet.updateRow()クライアント アプリケーションでメソッドのキー列を指定できますか? または、メソッドのWHERE句を指定できますか?ResultSet.updateRow()

これが私のテーブルです

この挿入ステートメントは正常に機能します

しかし、このJavaコードの問題

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

mysql - 更新可能な MySql ビューを作成できません

MySql で更新可能なビューを作成しようとしていますが、結果は更新できません。Attrepgen は、最初のフィールド (aidx = numauto) が PK であるテーブルです。

attrepusr が更新できない理由は何ですか?

情報については、テーブル attrepgen :

私は少し困惑しています。

0 投票する
0 に答える
133 参照

android - ボタンなしでデータを更新する方法

Android アプリケーションで Web サイトを介してデータを更新する方法を教えてください。ウェブサイトからデータを取得しましたが、データを自動的に変更するためのアイデアや例がありません。

アプリケーションの再起動時またはクリックスルー時のデータ変更。データを自動更新する方法を教えてください。

MainActivity.java

activity_main.xml

出力を見る