|
163 | 163 | allowed to create rows that are not visible through the view. The |
164 | 164 | following check options are supported: |
165 | 165 | </span> |
166 | | -《マッチ度[82.794118]》このオプションは、自動的に更新可能なビューの動作を制御します。 |
167 | | -このオプションが指定された場合、ビューに対する<code class="command">INSERT</code>および<code class="command">UPDATE</code>コマンドでは、新しい行がビュー定義の条件を満たすことが検査されます(つまり、新しい行がビューで見ることができるかどうか、検査されます)。 |
| 166 | +このオプションは、自動的に更新可能なビューの動作を制御します。 |
| 167 | +このオプションが指定された場合、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>および<code class="command">MERGE</code>コマンドでは、新しい行がビュー定義の条件を満たすことが検査されます(つまり、新しい行がビューで見ることができるかどうか、検査されます)。 |
168 | 168 | 条件を満たさない場合、更新は拒絶されます。 |
169 | | -<code class="literal">CHECK OPTION</code>が指定されない場合、ビューに対する<code class="command">INSERT</code>および<code class="command">UPDATE</code>コマンドは、ビューで見ることができない行を作ることができます。 |
| 169 | +<code class="literal">CHECK OPTION</code>が指定されない場合、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>および<code class="command">MERGE</code>コマンドは、ビューで見ることができない行を作ることができます。 |
170 | 170 | 以下のcheck optionがサポートされます。 |
171 | | -《機械翻訳》このオプションは、自動更新可能なビューの動作を制御します。 |
172 | | -このオプションを指定すると、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">MERGE</code>コマンドは、新しい行がビューを定義する条件を満たすことを確認するためにチェックされます(つまり、新しい行がビューを通して可視であることを確認するためにチェックされます)。 |
173 | | -そうでない場合、更新は拒否されます。 |
174 | | -<code class="literal">CHECK OPTION</code>が指定されていない場合、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">MERGE</code>コマンドは、ビューを通して見えない行を作成することが許可されます。 |
175 | | -次のチェック オプションがサポートされています。 |
176 | 171 |
|
177 | 172 | </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="literal">LOCAL</code></span></dt><dd><p> |
178 | 173 | <span class="original"> |
|
217 | 212 | with the <literal>INSTEAD</literal> rule. <command>MERGE</command> is not |
218 | 213 | supported if the view or any of its base relations have rules. |
219 | 214 | </span> |
220 | | -《マッチ度[83.865401]》<code class="literal">CHECK OPTION</code>は、自動更新可能で、かつ<code class="literal">INSTEAD OF</code>トリガーも<code class="literal">INSTEAD</code>ルールもないビューについてのみサポートされていることに注意してください。 |
| 215 | +<code class="literal">CHECK OPTION</code>は、自動更新可能で、かつ<code class="literal">INSTEAD OF</code>トリガーも<code class="literal">INSTEAD</code>ルールもないビューについてのみサポートされていることに注意してください。 |
221 | 216 | 自動更新可能ビューが<code class="literal">INSTEAD OF</code>トリガーのあるビューに基づいて定義されている場合、<code class="literal">LOCAL CHECK OPTION</code>を使って自動更新可能ビューの条件を検査することはできますが、<code class="literal">INSTEAD OF</code>トリガーを持つ基のビューの条件は検査されません(cascaded check optionはトリガーで更新されるビューにまでは伝わらず、またトリガーで更新可能なビューに直接定義されたcheck optionは無視されます)。 |
222 | 217 | ビューあるいはその基となるリレーションに<code class="literal">INSTEAD</code>ルールがあり、<code class="command">INSERT</code>あるいは<code class="command">UPDATE</code>の書き換えが生じる場合、その書き換えられたクエリでは(<code class="literal">INSTEAD</code>ルールのあるリレーションに基づく自動更新可能ビューのものも含めて)すべてのcheck optionが無視されます。 |
223 | | -《機械翻訳》<code class="literal">CHECK OPTION</code>は、自動更新可能で<code class="literal">INSTEAD OF</code>トリガや<code class="literal">INSTEAD</code>ルールを持たないビューでのみサポートされていることに注意してください。 |
224 | | -<code class="literal">INSTEAD OF</code>トリガを持つベースビューの上に自動更新可能ビューが定義されている場合、<code class="literal">LOCAL CHECK OPTION</code>を使用して自動更新可能ビューの条件をチェックすることができますが、<code class="literal">INSTEAD OF</code>トリガを持つベースビューの条件はチェックされません(カスケードチェックオプションはトリガ更新可能ビューにカスケードされず、トリガ更新可能ビューに直接定義されたチェックオプションは無視されます)。 |
225 | | -ビューまたはその基礎となるリレーションに<code class="literal">INSTEAD</code>ルールがあり、それによって<code class="command">INSERT</code>または<code class="command">UPDATE</code>コマンドが書き換えられる場合、<code class="literal">INSTEAD</code>ルールを持つリレーションの上に定義された自動更新可能なビューからのチェックを含む、すべてのチェックオプションは、書き換えられた問い合わせでは無視されます。 |
226 | | -ビューまたはその基本関係のいずれかに規則がある場合、<code class="command">MERGE</code>はサポートされません。 |
| 218 | +ビューあるいはその基となるリレーションにルールがある場合、<code class="command">MERGE</code>はサポートされません。 |
227 | 219 | </p></dd></dl></div></div><div class="refsect1" id="id-1.9.3.97.7"><h2>注釈</h2><span class="original"> |
228 | 220 | <title>Notes</title> |
229 | 221 | </span><p> |
|
359 | 351 | to be used on the view in the same way as on a regular table. A view is |
360 | 352 | automatically updatable if it satisfies all of the following conditions: |
361 | 353 | </span> |
362 | | -《マッチ度[85.106383]》簡単なビューは自動更新可能になります。 |
363 | | -システムは、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>文を通常のテーブルの場合と同じ方法で使用できるようにします。 |
| 354 | +簡単なビューは自動更新可能になります。 |
| 355 | +システムは、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、<code class="command">MERGE</code>文を通常のテーブルの場合と同じ方法で使用できるようにします。 |
364 | 356 | 以下の条件のすべてを満たす場合に、ビューは自動更新可能になります。 |
365 | | -《機械翻訳》単純なビューは自動的に更新可能です。 |
366 | | -つまり、<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、<code class="command">MERGE</code>文を通常のテーブルと同じようにビューで使用することができます。 |
367 | | -ビューが次の条件をすべて満たす場合、自動的に更新可能です。 |
368 | 357 |
|
369 | 358 | </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> |
370 | 359 | <span class="original"> |
|
401 | 390 | <command>INSERT</command>, <command>UPDATE</command>, or |
402 | 391 | <command>MERGE</command> statement attempts to assign a value to it. |
403 | 392 | </span> |
404 | | -《マッチ度[87.435897]》自動更新可能ビューでは、更新可能な列と更新不可能な列を混在させることができます。 |
| 393 | +自動更新可能ビューでは、更新可能な列と更新不可能な列を混在させることができます。 |
405 | 394 | 基になるリレーションの更新可能な列を単純に参照する列は更新可能です。 |
406 | | -そうでなければ列は更新不可能で、<code class="command">INSERT</code>あるいは<code class="command">UPDATE</code>文でその列に値を設定しようとしたらエラーが発生します。 |
407 | | -《機械翻訳》自動更新可能なビューは、更新可能な列と更新不可能な列の混合を含むことができます。 |
408 | | -列は、基礎となるベースリレーションの更新可能な列への単純な参照である場合は更新可能です。 |
409 | | -それ以外の場合は読み取り専用であり、<code class="command">INSERT</code>、<code class="command">UPDATE</code>、または<code class="command">MERGE</code>文が値を割り当てようとするとエラーが発生します。 |
| 395 | +そうでなければ列は読み取り専用で、<code class="command">INSERT</code>、<code class="command">UPDATE</code>あるいは<code class="command">MERGE</code>文でその列に値を設定しようとしたらエラーが発生します。 |
410 | 396 | </p><p> |
411 | 397 | <span class="original"> |
412 | 398 | If the view is automatically updatable the system will convert any |
|
416 | 402 | relation. <command>INSERT</command> statements that have an <literal>ON |
417 | 403 | CONFLICT UPDATE</literal> clause are fully supported. |
418 | 404 | </span> |
419 | | -《マッチ度[86.015831]》ビューが自動更新可能であれば、システムはビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>または<code class="command">DELETE</code>文を基となるベースリレーションへの対応する文に変換します。 |
| 405 | +ビューが自動更新可能であれば、システムはビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>または<code class="command">MERGE</code>文を基となるベースリレーションへの対応する文に変換します。 |
420 | 406 | <code class="literal">ON CONFLICT UPDATE</code>句を持つ<code class="command">INSERT</code>文は完全にサポートされます。 |
421 | | -《機械翻訳》ビューが自動的に更新可能な場合、ビュー上の<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、または<code class="command">MERGE</code>文は、基礎となるベースリレーション上の対応する文に変換されます。 |
422 | | -<code class="literal">ON CONFLICT UPDATE</code>句を持つ<code class="command">INSERT</code>文は完全にサポートされています。 |
423 | 407 | </p><p> |
424 | 408 | <span class="original"> |
425 | 409 | If an automatically updatable view contains a <literal>WHERE</literal> |
|
440 | 424 | <command>MERGE</command> commands from creating such rows that are not |
441 | 425 | visible through the view. |
442 | 426 | </span> |
443 | | -《マッチ度[83.365759]》自動更新可能ビューが<code class="literal">WHERE</code>条件を持つ場合、 |
444 | | -ベースリレーションのどの行をビューに対する<code class="command">UPDATE</code>、<code class="command">DELETE</code>文により変更可能かをその条件が制限します。 |
445 | | -しかし<code class="command">UPDATE</code>による行の変更の結果<code class="literal">WHERE</code>を満たさなくなり、その結果、ビューからは参照することができなくなることがあります。 |
446 | | -同様に<code class="command">INSERT</code>コマンドは<code class="literal">WHERE</code>条件を満たさず、そのためビューを通して参照することができない行をベースリレーションに挿入する可能性があります(<code class="literal">ON CONFLICT UPDATE</code>はビューを通して見えない既存の行に同様に影響を及ぼすかもしれません)。 |
447 | | -<code class="literal">CHECK OPTION</code>は<code class="command">INSERT</code>や<code class="command">UPDATE</code>がビューで見ることができない行を作るのを防ぐために使うことができます。 |
448 | | -《機械翻訳》自動更新可能なビューに<code class="literal">WHERE</code>条件が含まれている場合、その条件は、ビューに対する<code class="command">UPDATE</code>、<code class="command">DELETE</code>、<code class="command">MERGE</code>文によって変更可能なベースリレーションの行を制限します。 |
449 | | -しかし、<code class="command">UPDATE</code>または<code class="command">MERGE</code>は、<code class="literal">WHERE</code>条件を満たさなくなるように行を変更することができ、したがってビューを通して見えなくなります。 |
450 | | -同様に、<code class="command">INSERT</code>または<code class="command">MERGE</code>コマンドは、<code class="literal">WHERE</code>条件を満たさないベースリレーション行を挿入する可能性があり、したがってビューを通して見えません(<code class="literal">ON CONFLICT UPDATE</code>は同様に、ビューを通して見えない既存の行に影響を与える可能性があります)。 |
451 | | -<code class="literal">CHECK OPTION</code>は、<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">MERGE</code>コマンドがビューを通して見えないような行を作成するのを防ぐために使用されます。 |
| 427 | +自動更新可能ビューが<code class="literal">WHERE</code>条件を持つ場合、ベースリレーションのどの行をビューに対する<code class="command">UPDATE</code>、<code class="command">DELETE</code>、<code class="command">MERGE</code>文により変更可能かをその条件が制限します。 |
| 428 | +しかし<code class="command">UPDATE</code>または<code class="command">MERGE</code>による行の変更の結果<code class="literal">WHERE</code>を満たさなくなり、その結果、ビューからは参照することができなくなることがあります。 |
| 429 | +同様に<code class="command">INSERT</code>または<code class="command">MERGE</code>コマンドは<code class="literal">WHERE</code>条件を満たさず、そのためビューを通して参照することができない行をベースリレーションに挿入する可能性があります(<code class="literal">ON CONFLICT UPDATE</code>はビューを通して見えない既存の行に同様に影響を及ぼすかもしれません)。 |
| 430 | +<code class="literal">CHECK OPTION</code>は<code class="command">INSERT</code>や<code class="command">UPDATE</code>、<code class="command">MERGE</code>コマンドがビューで見ることができない行を作るのを防ぐために使うことができます。 |
452 | 431 | </p><p> |
453 | 432 | <span class="original"> |
454 | 433 | If an automatically updatable view is marked with the |
|
480 | 459 | easier to understand and use correctly. Also note that <command>MERGE</command> |
481 | 460 | is not supported on relations with rules. |
482 | 461 | </span> |
483 | | -《マッチ度[70.884354]》これらの条件をすべて満たさないより複雑なビューはデフォルトで読み取り専用です。 |
484 | | -システムはビューに対する挿入、更新、削除を許可しません。 |
485 | | -ビューに対する<code class="literal">INSTEAD OF</code>トリガを作成することで、更新可能ビューの効果を得ることができます。 |
486 | | -このトリガはビューに対する挿入試行などを他のテーブルに対する適切な操作に変換するものでなければなりません。 |
| 462 | +これらの条件をすべて満たさないより複雑なビューはデフォルトで読み取り専用です。 |
| 463 | +システムはビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、<code class="command">MERGE</code>を許可しません。 |
| 464 | +ビューに対する<code class="literal">INSTEAD OF</code>トリガを作成することで、更新可能ビューの効果を得ることができます。このトリガはビューに対する挿入試行などを他のテーブルに対する適切な操作に変換するものでなければなりません。 |
487 | 465 | 詳細については<a class="xref" href="sql-createtrigger.html" title="CREATE TRIGGER"><span class="refentrytitle">CREATE TRIGGER</span></a>を参照してください。 |
488 | 466 | 他にもルールを作成する(<a class="xref" href="sql-createrule.html" title="CREATE RULE"><span class="refentrytitle">CREATE RULE</span></a>参照)ことでも実現できますが、実際にはトリガの方が理解しやすく正しく使用するのが容易です。 |
489 | | -《機械翻訳》これらの条件をすべて満たさない、より複雑なビューは、デフォルトで読み取り専用です。 |
490 | | -つまり、ビューに対する<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、<code class="command">MERGE</code>は許可されません。 |
491 | | -ビューに対して<code class="literal">INSTEAD OF</code>トリガを作成することで、更新可能なビューの効果を得ることができます。 |
492 | | -これは、試みられた挿入などを変換する必要があります。 |
493 | | -他のテーブルに対する適切なアクションを ビューに表示します。 |
494 | | -詳細は<a class="xref" href="sql-createtrigger.html" title="CREATE TRIGGER"><span class="refentrytitle">CREATE TRIGGER</span></a>を参照してください。 |
495 | | -もう一つの可能性はルールを作成することですが(<a class="xref" href="sql-createrule.html" title="CREATE RULE"><span class="refentrytitle">CREATE RULE</span></a>を参照)、実際にはトリガの方が理解しやすく、正しく使用できます。 |
496 | | -また、<code class="command">MERGE</code>はルールを持つリレーションではサポートされていないことに注意してください。 |
| 467 | +また、<code class="command">MERGE</code>はルールを持つリレーションではサポートされないことに注意してください。 |
497 | 468 | </p><p> |
498 | 469 | <span class="original"> |
499 | 470 | Note that the user performing the insert, update or delete on the view |
|
0 commit comments