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:
UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_table.id
1. Pendekatan Subquery:
Kaedah ini menggunakan subqueries untuk mengambil nilai kemas kini:
klausa
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)
. EXISTS
other_table
Pendekatan ini memanfaatkan
untuk kemas kini yang lebih cekap:
JOIN
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'
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!