VFP SQL UPDATE ปรับปรุงค่าในฟิลด์ด้วยค่าจากตารางอื่น
ก่อนนี้ผมใช้ VFP มาแบบโบราณ เวลาเปลี่ยนค่าใน Field ก็ใช้ DO WHILE ร่วมกับ REPLACE ก็รอดมาได้ แต่ต่อมามาใช้ SQL ก็ดูเหมือนว่าชีวิตจะสะดวกสบายขึ้น โดยเฉพาะการปรับปรุงค่าในฟิลด์ของ Tabel_1 ด้วยค่าในฟิลด์ของ Table_2 ง่ายกว่าการใช้ DO WHILE ร่วมกับ REPLACE แบบเดิมๆมากมายมหาศาลเชียวล่ะ อยากรู้ก็อ่านต่อไปครับว่าทำได้ยังไง
เค้าว่าตัวอย่างที่ดีมีค่ากว่าคำสอน ดังนั้น...เอาตัวอย่างไปครับ
เค้าว่าตัวอย่างที่ดีมีค่ากว่าคำสอน ดังนั้น...เอาตัวอย่างไปครับ
* เปิด table
USE old_value IN 0 USE new_value IN 0 * สั่ง update field_name ใน old_value ด้วย field_name จาก new_value
UPDATE old_value ; FROM new_value ; WHERE old_value .keyfield = new_value .keyfield ; SET old_value .field_name = new_value .field_name * สังเกตผล SELECT old_value BROWSE
จากตัวอย่างที่เห็นข้างต้นนี้ เราเปลี่ยนค่าในฟิลด์ที่ชื่อว่า field_name ของตาราง old_value ด้วยค่าใน field_name ของตาราง new_value ซึ่งแน่นอนว่าต้องระบุลงไปให้ชัดเจนใน SQL Command ด้วยว่าจะให้ฟิลด์ใดเป็นตัวอ้างอิงระหว่างกัน โดยระบุลงไปในคำสั่ง WHERE ได้เลยครับสะดวกมาก
WHERE old_value .keyfield = new_value .keyfield
ซึ่งเป็นเงื่อนไขว่าให้ VFP ดูให้ค่าในฟิลด์ keyfield ของทั้งสอง table ให้ตรงกันด้วยไม่งั้นค่าปนกันเละแน่ๆ
จากตัวอย่างข้างต้นผมเขียนเป็น Clean Code และระบายสีไว้ให้แล้ว เวลายกไปใช้จะได้เปลี่ยนค่าตัวแปร ค่าฟิลด์ได้ง่ายๆครับ หวังว่าคงได้รับประโยชน์จากการอ่านครั้งนี้นะครับ
ขอให้เพื่อนๆมีความสุขกับการเขียนโปรแกรมครับ
ความคิดเห็น
แสดงความคิดเห็น