สามารถ insert ข้อมูลลง 2 table แบบ join กันได้หรือเปล่าคะ
สามารถ insert ข้อมูลลง 2 table แบบ join กันได้หรือเปล่าคะ
insert into <table A>,<Table B> (field1,field2,field3) values ('value1','value2','value3');
คือว่าลองแล้ว มัน error น่ะคะ ไม่ทราบว่าสามารถเขียนแบบนี้ได้หรือเปล่า หรือว่า จะต้อง insert ไปทีละ table คะ ขอบคุณล่วงหน้าคะ
Re: สามารถ insert ข้อมูลลง 2 table แบบ join กันได้หรือเปล่าค
ไม่แน่ใจเท่าไรนักครับ แต่ถ้าเป็นผมผมจะ Insert ไปที่ละ Table ครับเนื่องจากจะมี Table ที่เป็น Master และ Detail. Master Table จะเก็บแค่ Record เดียวแต่ Detail Table จะเก็บอยู่หลาย Record แต่จะแยกกันด้วย Index ที่เรากำหนดขึ้นมา พอ Master Table มีการ Insert ข้อมูลเรียบร้อยแล้วเราก็ทำการปิดมันจะได้ไม่ต้องมีการยุ่งเกี่ยวกันอีก แต่ Detail Table จะมีการเปิดอยู่ตลอดเวลาจนทำการ Insert ข้อมูลเสร็จ และถ้าข้อมูลเกิดมีการเสียหายก็จะเป็นอยู่ที่ Detail Table เพียงอย่างเดียว
Re: สามารถ insert ข้อมูลลง 2 table แบบ join กันได้หรือเปล่าค
เป็นวิธีการที่ไม่ถูกต้องครับ เพราะถ้า Detail fail จะมีขยะที่ master วิธีที่ดีที่สุดคือ
ใช้ starttransaction ตั้งแต่เปิด ไม่ว่าจะ insert master หรือ detail ตราบใดที่ยังไม่ commit จะไม่มีผลกระทบกับ database
DB.starttransaction
insert master
insert detail
จะบันทึกข้อมูล
if DB.intransaction then
begin
try
DB.commit;
except
DB.rollback;
end;
end;
คุณ kkk ควรบอกจุดประสงค์ที่จะทำด้วย เพราะคุณบอกส่วนที่คุณติดปัญหา คนที่ตอบก็ไม่แน่ใจว่าตอบไปจะถูกมั้ย