TRUNCATE เป็นการลบข้อมูลทั้งหมดออกจากตาราง แต่โครงสร้างตารางและคอลัมน์ข้อ จำกัด ดัชนีและอื่น ๆ ยังคงอยู่ ซึ่งมีความแตกต่างกับ Delete คือ
1 หากต้องการลบข้อมูลที่มีขนาดใหญ่ คำสั่ง TRUNCATE จะมีประสิทธิภาพมากกว่า
2 TRUNCATE ไม่สามารถลบข้อมูลที่มี Foreign key contraint ได้
3 การยกเลิกคำสั่ง(Roll back) TRUNCATE จะทำได้เฉพาะใน Transaction เท่านั้น
การเรียกใช้คำสั่ง
ทดลองนำไปใช้กับ openerp
โค้ด: เลือกทั้งหมด
try:
cr.execute("TRUNCATE TABLE my_table") #ใช้ cr.ในการเชื่อมต่อข้อมูลตาราง และ execute เป็นการเรียกใช้คำสั่ง sql ซึ่งในที่นี้ เรียกใช้คำสั่ง(TRUNCATE)การลบ-ข้อมูลในตาราง my_table
_logger.debug('--delete data in my_table---)
except Exception as e:
raise osv.except_osv("Error", "Exception during delete data " + str(e))
TRUNCATE เป็นการลบข้อมูลทั้งหมดออกจากตาราง แต่โครงสร้างตารางและคอลัมน์ข้อ จำกัด ดัชนีและอื่น ๆ ยังคงอยู่ ซึ่งมีความแตกต่างกับ Delete คือ
1 หากต้องการลบข้อมูลที่มีขนาดใหญ่ คำสั่ง TRUNCATE จะมีประสิทธิภาพมากกว่า
2 TRUNCATE ไม่สามารถลบข้อมูลที่มี Foreign key contraint ได้
3 การยกเลิกคำสั่ง(Roll back) TRUNCATE จะทำได้เฉพาะใน Transaction เท่านั้น
การเรียกใช้คำสั่ง
[code]TRUNCATE TABLE table_name [/code]
ทดลองนำไปใช้กับ openerp
[code]
try:
cr.execute("TRUNCATE TABLE my_table") #ใช้ cr.ในการเชื่อมต่อข้อมูลตาราง และ execute เป็นการเรียกใช้คำสั่ง sql ซึ่งในที่นี้ เรียกใช้คำสั่ง(TRUNCATE)การลบ-ข้อมูลในตาราง my_table
_logger.debug('--delete data in my_table---)
except Exception as e:
raise osv.except_osv("Error", "Exception during delete data " + str(e))
[/code]