รวบรวม Code ต่างๆนานา ที่เคยพบเจอมาจากประสบการณ์

UNDERGROUND PROGRAMMER PRESENT

วันพุธที่ 30 สิงหาคม พ.ศ. 2560

SQL SERVER#7 [T-SQL] OUTPUT Clause

จะรู้ได้ยังไงว่า ลบข้อมูลอะไรไปบ้าง? แก้ไขข้อมูลอะไรไปบ้าง? เพิ่มอะไรเข้าไปบ้าง?

คงเป็นคำถามที่หลายคนคงสงสัยกันอยู่บ้างเหมือนกัน ไม่ว่าจะเป็นผู้พัฒนาโปรแกรม หรือผู้จัดการด้านฐานข้อมูล ซึ่งแน่นอนเลยว่าก็มีหลายวิธี (ถ้าขยันหน่อยก็ใช่ {SELECT * FROM sys.fn_dblog(NULL,NULL)} แล้วไล่ยาวเลย) หรือไม่ก็ดูผ่าน Activity Monitor

เอาละในบทความนี้จะพูดถึงคำสัั่ง OUTPUT กันเพราะสามารถนำไปประยุกต์ได้หลายแบบและน่าจะจัดการได้ง่ายกว่า (แต่อาจจะต้องเขียนเพิ่มเข้าไปหน่อยละนะ...😜😜)
OUTPUT จะเป็นคำสั่งที่ทำหน้าที่ในการเก็บข้อมูลผลลัพธ์ ที่เกิดจากการปรับปรุงข้อมูลต่างๆ (INSERT, UPDATE, DELETE)  ไปเก็บไว้ยังตารางที่ได้ทำการกำหนดขึ้นมานั่นเอง โดยจะยกตัวอย่างการใช้งานคำสั่งตามการปรับปรุงฐานข้อมูลละกัน

1.INSERT
* ตัวอย่างการเก็บข้อมูลเมื่อใช้ร่วมกับคำสั่ง Insert โดยจะเก็บค่าข้อมูลที่ได้ทำการเพิ่มเข้าไปไว้ยังตัวแปร Table ที่ได้ทำการสร้างขึ้นมา (Temp_Insert_Region)
2.DELETE


3.UPDATE
* จากคำสั่งจะเป็นการสร้างตัวแปร Table เพื่อมาเก็บค่าการทำงานของการปรับปรุงข้อมูลโดย ตาราง deleted.ชื่อ column จะเก็บค่าข้อมูลก่อนการเปลี่ยนแปลง และตาราง Inserted จะเก็บข้อมูลหลังการเปลี่ยนแปลง แล้วเก็บไปยังตัวแปรตารางที่ได้สร้างเอาไว้นั่นเอง

ของแถม !!!
ก่อนจบบทความจะแถมคำสั่ง อีกหนึ่งละกันจะเป็นคำสั่งที่ใช้สำหรับการส่งออกข้อมูลที่ได้จากการเรียกดูข้อมูลออกเป็นไฟล์ .txt (ไฟล์รูปแบบอื่นก็ลองเปลี่ยนนามสกุลดูนะ)

แต่ก่อนที่จะใช้งานคำสั่งต้องมีการกำหนด  config ของฐานข้อมูลก่อนละกันนะ โดยให้ทำการกำหนดค่าใหม่ ดังนี้
* หรือหากต้องการจะดูผลของการ Config หรือการ config อื่นๆ ก็สามารถใช้คำสั่ง
select * from  sys.configurations ดูเอาก็ได้นะ


จากคำสั่งข้างต้นจะเป็นการส่งออกผลลัพธ์ ที่ได้จากตาราง Customers ในรูปแบบไฟล์  Customers.txt ซึ่งส่งออกไปยัง D:\ นั่นเอง
** อันนี้ต้องตรวจสอบด้วยนะว่าปลายทางที่เราได้ทำการกำหนดนั้นได้รับสิทธิ์ ให้ทำการสร้างและเขียนไฟล์หรือไม่..


เอาละก็จบไปสำหรับคำสั่ง Output หวังเป็นอย่างยิ่งว่าจะเป็นประโยชน์สำหรับการประยุกต์เพื่อนำไปใช้งานต่อไปข้างหน้านะครับ 😉😉

ไม่มีความคิดเห็น:

แสดงความคิดเห็น