Rumah >pangkalan data >tutorial mysql >Bagaimana saya boleh mengemas kini jadual SQL Server menggunakan nilai dari pernyataan pilih?
mengemas kini jadual pelayan SQL dengan data dari penyataan pilih
SQL Server membolehkan memasukkan baris menggunakan. Walau bagaimanapun, secara langsung mengemas kini jadual menggunakan pernyataan INSERT...SELECT
dengan cara yang mungkin dicuba pada mulanya (mis., SELECT
UPDATE Table SET col1, col2 SELECT col1, col2...
katakan anda perlu mengemas kini jadual dengan nilai dari jadual sementara. Percubaan yang salah mungkin kelihatan seperti ini:
<code class="language-sql">UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_table.id</code>Kaedah yang betul:
1. Pendekatan Subquery:
Kaedah ini menggunakan subqueries untuk mengambil nilai kemas kini:
klausa
<code class="language-sql">UPDATE Table SET col1 = (SELECT col1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id), col2 = (SELECT col2 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id) WHERE EXISTS (SELECT 1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)</code>memastikan kemas kini hanya berlaku untuk baris dengan penyertaan yang sepadan dalam
. EXISTS
other_table
Pendekatan ini memanfaatkan
untuk kemas kini yang lebih cekap:
JOIN
<code class="language-sql">UPDATE Table_A SET Table_A.col1 = Table_B.col1, Table_A.col2 = Table_B.col2 FROM Some_Table AS Table_A INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id WHERE Table_A.col3 = 'cool'</code>sepadan dengan baris dalam
dan JOIN
berdasarkan lajur Table_A
, memohon kemas kini hanya di mana Table_B
sama dengan 'sejuk'. id
Table_A.col3
Kedua -dua subqueries dan gabungan menyediakan cara yang berkesan untuk mengemas kini jadual SQL Server menggunakan data yang diperolehi dari
Atas ialah kandungan terperinci Bagaimana saya boleh mengemas kini jadual SQL Server menggunakan nilai dari pernyataan pilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!