|
38 | 38 | column to provide unique identifiers, <literal>RETURNING</literal> can return |
39 | 39 | the ID assigned to a new row: |
40 | 40 | </span> |
41 | | -《マッチ度[93.374741]》<code class="command">INSERT</code>では、<code class="literal">RETURNING</code>で利用できるデータは、挿入された通りの行です。 |
| 41 | +<code class="command">INSERT</code>では、<code class="literal">RETURNING</code>で利用できるデフォルトのデータは、挿入された通りの行です。 |
42 | 42 | 単純な挿入では、クライアントが提供したデータを単に繰り返すだけになりますから、あまり役には立ちません。 |
43 | 43 | しかし、計算されたデフォルト値に依存しているときは、これは非常に便利なことがあります。 |
44 | 44 | 例えば<a class="link" href="datatype-numeric.html#DATATYPE-SERIAL" title="8.1.4. 連番型"><code class="type">serial</code></a>の列を使って一意識別子を提供している場合、以下のように<code class="literal">RETURNING</code>によって、新しい行に割り当てられたIDを返すことができます。 |
|
58 | 58 | <literal>RETURNING</literal> is |
59 | 59 | the new content of the modified row. For example: |
60 | 60 | </span> |
61 | | -《マッチ度[89.583333]》<code class="command">UPDATE</code>では、<code class="literal">RETURNING</code>で利用できるデータは、更新された行の新しい内容です。 |
| 61 | +<code class="command">UPDATE</code>では、<code class="literal">RETURNING</code>で利用できるデフォルトのデータは、更新された行の新しい内容です。 |
62 | 62 | 例を示します。 |
63 | | -《機械翻訳》<code class="command">UPDATE</code>では、<code class="literal">RETURNING</code>に利用可能なデフォルトデータは、修正された行の新しいコンテンツです。 |
64 | | -例の場合:。 |
65 | 63 | </p><pre class="programlisting"> |
66 | 64 | UPDATE products SET price = price * 1.10 |
67 | 65 | WHERE price <= 99.99 |
|
73 | 71 | <literal>RETURNING</literal> is |
74 | 72 | the content of the deleted row. For example: |
75 | 73 | </span> |
76 | | -《マッチ度[89.130435]》<code class="command">DELETE</code>では、<code class="literal">RETURNING</code>で利用できるデータは、削除された行の内容です。 |
| 74 | +<code class="command">DELETE</code>では、<code class="literal">RETURNING</code>で利用できるデフォルトのデータは、削除された行の内容です。 |
77 | 75 | 例を示します。 |
78 | | -《機械翻訳》<code class="command">DELETE</code>では、<code class="literal">RETURNING</code>に利用可能なデフォルトデータは、削除された行のコンテンツです。 |
79 | | -例の場合:。 |
80 | 76 | </p><pre class="programlisting"> |
81 | 77 | DELETE FROM products |
82 | 78 | WHERE obsoletion_date = 'today' |
|
92 | 88 | can lead to a lot of duplicated columns, so it is often more useful to |
93 | 89 | qualify it so as to return just the source or target row. For example: |
94 | 90 | </span> |
95 | | -《マッチ度[93.873085]》<code class="command">MERGE</code>では、<code class="literal">RETURNING</code>で利用できるデータは、元となる行の内容と挿入、更新、または削除された対象行の内容です。 |
| 91 | +<code class="command">MERGE</code>では、<code class="literal">RETURNING</code>で利用できるデフォルトのデータは、元となる行の内容と挿入、更新、または削除された対象行の内容です。 |
96 | 92 | 元となるものと対象が多くの同じ列を持つことは非常に一般的であるため、<code class="literal">RETURNING *</code>を指定すると、多くの重複した列が発生する可能性があります。そのため、元となる行または対象行だけを返すように修飾するのがより有用なことがしばしばあります。 |
97 | 93 | 例を示します。 |
98 | 94 | </p><pre class="programlisting"> |
|
106 | 102 | In each of these commands, it is also possible to explicitly return the |
107 | 103 | old and new content of the modified row. For example: |
108 | 104 | </span> |
109 | | -《機械翻訳》これらの各コマンドでは、変更されたコンテンツの新旧の行を明示的に結果することもできます。 |
110 | | -例の場合:。 |
| 105 | +これらの各コマンドでは、変更された行の新旧の内容を明示的に返すこともできます。 |
| 106 | +例を示します。 |
111 | 107 | </p><pre class="programlisting"> |
112 | 108 | UPDATE products SET price = price * 1.10 |
113 | 109 | WHERE price <= 99.99 |
|
118 | 114 | In this example, writing <literal>new.price</literal> is the same as |
119 | 115 | just writing <literal>price</literal>, but it makes the meaning clearer. |
120 | 116 | </span> |
121 | | -《機械翻訳》この例では、書くこと<code class="literal">new.price</code>は単に書くこと<code class="literal">price</code>と同じですが、意味をより明確にします。 |
| 117 | +この例では、<code class="literal">new.price</code>と書くことは単に<code class="literal">price</code>と書くことと同じですが、意味をより明確にします。 |
122 | 118 | </p><p> |
123 | 119 | <span class="original"> |
124 | 120 | This syntax for returning old and new values is available in |
|
135 | 131 | <command>UPDATE</command> by a <link linkend="sql-createrule">rewrite rule</link>, |
136 | 132 | the new values may be non-<literal>NULL</literal>. |
137 | 133 | </span> |
138 | | -《機械翻訳》古い値と新しい値を返すためのこの構文は、<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、および<code class="command">MERGE</code>コマンドで使用できますが、一般的に古い値は<code class="command">INSERT</code>に対して<code class="literal">NULL</code>になり、新しい値は<code class="command">DELETE</code>に対して<code class="literal">NULL</code>になります。 |
| 134 | +古い値と新しい値を返すこの構文は、<code class="command">INSERT</code>、<code class="command">UPDATE</code>、<code class="command">DELETE</code>、および<code class="command">MERGE</code>コマンドで使用できますが、通常、古い値は<code class="command">INSERT</code>に対して<code class="literal">NULL</code>になり、新しい値は<code class="command">DELETE</code>に対して<code class="literal">NULL</code>になります。 |
139 | 135 | ただし、これらのコマンドに対しても有用な状況があります。 |
140 | | -例の場合、<a class="link" href="sql-insert.html#SQL-ON-CONFLICT" title="ON CONFLICT句"><code class="literal">ON CONFLICT DO UPDATE</code></a>句を持つ<code class="command">INSERT</code>では、競合する行に対して古い値は非<code class="literal">NULL</code>になります。 |
| 136 | +例えば、<a class="link" href="sql-insert.html#SQL-ON-CONFLICT" title="ON CONFLICT句"><code class="literal">ON CONFLICT DO UPDATE</code></a>句を持つ<code class="command">INSERT</code>では、競合する行に対して古い値は非<code class="literal">NULL</code>になります。 |
141 | 137 | 同様に、<a class="link" href="sql-createrule.html" title="CREATE RULE">書き換えルール</a>によって<code class="command">DELETE</code>が<code class="command">UPDATE</code>になった場合、新しい値は非<code class="literal">NULL</code>になる可能性があります。 |
142 | 138 | </p><p> |
143 | 139 | <span class="original"> |
|
0 commit comments