ฉันมีตารางทดสอบที่มีคอลัมน์ id ซึ่งเป็นคีย์หลักและเพิ่มขึ้นอัตโนมัติและชื่อ ฉันต้องการที่จะแทรกบันทึกใหม่ถ้า annd เฉพาะในกรณีที่ไม่มีบันทึกตัวอย่างเช่น
อินพุตคือ id = 30122 และ name = john
หากมีการบันทึกที่มี id 30122 ฉันได้อัปเดตคอลัมน์ชื่อเป็น john หากไม่มีการบันทึกฉันจะใส่บันทึกใหม่
ฉันสามารถทำได้โดยใช้ 2 แบบสอบถามเช่น
select * from test where id=30122
หากมีบางบันทึกฉันสามารถใช้งานได้ update test set name='john' where id=3012
หรือถ้ามันไม่มีบันทึกฉันก็สามารถใช้งานได้
insert into test(name) values('john')
แต่ฉันต้องการใช้ข้อความค้นหาเดียว?
ใครสามารถบอกได้ถ้าเป็นไปได้?
MERGE
ในรุ่นใด ๆ แม้ SQL Server 2019 พื้นหลังบางอย่างเกี่ยวกับที่นี่
But I wanted to use single query?
ทำไม?