[DB2] Stored Procedure ช่วยลบข้อมูลเยอะๆ

IBM DB2

ในงานของเรา อาจจะมีการลบข้อมูลเยอะๆ ไม่ว่าใน DBMS ตัวไหนก็ตามครับ ถ้าเป็น DB2 ถ้าเราลบข้อมูลเยอะๆ อาจจะเจอปัญหา Transaction Log Full ได้ครับ ครั้นจะปิด Log แล้วลบทิ้ง ก็อาจจะมีปัญหาครับ เช่น ตัว HADR ถ้าปิด Log นี้ ไม่ Sync กันนะครับ ผมเลยมี Stored Procedure ที่ช่วยในการลบข้อมูล ดังนี้ครับ เห็น Code และมาดูก่อนว่า มันต้องใส่ Parameter อะไรบ้าง การทำงาน วน Loop DELETE ข้อมูลจนกว่า Query จะมี SQLCODE = 100 (No Data) ซึ่งหมายถึง ลบจนกว่าคำสั่ง DELETE จะไม่มีข้อมูลให้ลบครับผม 2019 Update: เพิ่มตัวอย่างการเรียกใช้งาน [DB2] ตัวอย่างการใช้งาน Stored Procedure DELETE_MANY_ROWS

มิวเซียมสยาม “พม่าระยะประชิด”

หลังจากปั่นงานเสร็จ เอออ เหลืออีก 0.5 วัน จะวันจันทร์ที่ 18 เมษายน 2559 แล้วววว เวลาเพียงอีกนิดเดียวเท่านั้น แต่อยากไปเที่ยว บังเอิญผมเห็น Ads ของ Facebook ที่เกี่ยวกับ มิวเซียมสยาม ผมเลยลองไปดูครับ หลักจากเคยไปมาเมื่อนานมากแล้ว น่าจะ 3-4 ปีแล้วมั้ง โดยนำเสนอคำที่แตกต่างกัน ในแต่ละส่วน ดังนี้ เกริ่นนำ : ไขกุญแจ และเปิดใจ ให้เราเข้าใจ เพื่อนบ้าน ของเรามากขึ้น เข้าสู่ AEC แล้วนะครับ ตักตวง-ตามฝัน : กล่าวถึงทำไมคนพม่า ถึงมาไทย แล้วเค้ามีความฝันอะไรครับ ขัดสน-สะสม : เมื่อมาอยู่ไทย ก็ต้องรับสภาพสังคม เศรษฐกิจของเมืองไทยได้ แม้ค่าแรงจะน้อย แต่สามารถรอมชอม แบ่งปันกันได้ อย่างเช่น ห้องเช่า 2 กะ หรือ การอยู่ด้วยกัน กินด้วยกัน ได้อาหารที่มากขึ้น หลากหลาย แต่เงินที่ใช้เท่าเดิม รุ่มรวย-รุงรัง : ในแต่ละล๊อกเกอร์ จะบอกถึงแต่ละประเด็นของชาวพม่าในไทยครับ ต่างด้าว-ต่างชาติ : ส่วนใหญ่เราคิดว่าอยู่ในส่วนของแรงงาน แต่จริงๆแล้วชาวพม่าในไทย ทำงานในหลากหลายอาชีพครับ ทั้งอาจารย์ หมอ พยาบาล และพนักงานออฟฟิต เป็นต้น พลังธรรม-พลังทำ : ชาวพม่ามีความศรัทธาในศาสนาพุทธมากครับ ถ้าสังเกตุที่อยู่ของพวกเค้า พบว่าที่ทีเด่นที่สุด คือ หึ้งพระครับ และจากการที่ชาวพม่า เข้ามาอยู่รวมกันอยู่ด้วยกัน ก็เกิดเป็นพลังทำ มีเค้าน่าจะเรียกว่าแบนด์ของตัวเองปะ เป็นเสื้อกลุ่ม ชุมชนครับ รุกราน-แลกเปลี่ยน : ในอดีตไทยกับพม่า ไม่ถูกกัน จริงๆไม่น่าจะได้เป็นไทยกับพม่านะครับ น่าจะเป็นระหว่างรัฐมากกว่า และก็สงคราม ในสมัยก่อนชั้นปกครองเค้ามองเป็นกึ่งกีฬา และแนวคิดธรรมราชาด้วย (ไม่แน่ใจว่าใช้คำถูกไหม) แต่จริงๆประชาชน ชาวบ้านคงไม่อยากไปทำสงครามหรอก และในส่วนนี้แสดงความแตกต่างของประวัติศาสตร์ในเรื่องสงคราม ยุทธหัตถี ที่ทางไทยกับพม่า ที่มีการลงบันทึกแตกต่างกันครับ…

BarBQ Plaza บุฟเฟต์

กลับมาแล้วกับเทศกาลกินไม่ยั้งที่ทุกคนรอคอย “รีฟิล กินไม่สะดุด เต็มอิ่มครบรส”  วันนี้เป็นวันสุดท้ายของโปรบุฟเฟต์ วันที่ 10 เมษายน 2559 ผมกับน้องไปกิน BarBQ Plaza สาขา The Walk ครับ ที่นี้มีเอกลักษณ์อน่างนึ่งนะครับ คือ ใช้เตาแก๊สครับ มันทำห้เตาร้อนเร็วครับ แต่เดี๋ยวสักพักน่าจะเปลี่ยนเป็นเตาไฟฟ้า จากเหตุผลด้านความปลอดภัยครับ สำหรับโปรที่มี Happy Refill 349 บาท ต่อ ท่าน Super Refill 449 บาท ต่อ ท่าน อันนี้มีขอเพิ่มมาพอสมควรเลยครับ เป็นพวกอาหารทะเล Deluxe Refill 549 บาท ต่อ ท่าน อันนี้เพิ่มจาก 449 จากกุ้งตัวเล็กๆ เราจะได้กลุ่มแม่น้ำแทน และก็เนื้อสัตว์นำเข้าครับ ภาพบรรยากาศครับ ยังไง ผมขอไปจำศึล 8 เดือนก่อนนะครับ ช่วงต้นปี ถ้ามีหน้าจัดโปรบุฟเฟต์ใหม่ ค่อยไปเจอกันใหม่ครับ 😀

Technical Debt เขียน Code แล้วทำไมถึงติดหนี้ แถมมีดอกเบี้ยด้วย !!!

จากหัวข้อของบทความ หลายคนน่าจะสงสัยว่าทำไม “เขียน Code แล้วทำไมถึงติดหนี้ แถมมีดอกเบี้ยด้วย !!!” เดี๋ยวผมจะมาอธิบายครับ ว่าทำไมเราถึงได้สร้างหนี้ และหนี้ในการเขียน Code จริงๆ ก็ไม่เชิงนะ บอกว่าเป็นหนี้ในการพัฒนาระบบ น่าจะดีกว่าครับ โดยหนี้ที่เกิดขึ้นมี ดังนี้ครับ Acceptable – เป็นหนี้ในระยะสั้น และระยะยาวได้ประโยชน์ มองเป็นการลงทุนแนวๆ VI ได้เลยนะเนี่ย Unavoidable – หนี้ที่เกิดจากสถานการณ์ที่เราไม่สามารถคาดเดาได้ Unnecessary – หนี้ที่เกิดแล้วทำให้ระบบงานเรารอดมีงานส่งได้ หนี้ที่เกิดแล้วทำให้ระบบงานเรารอดมีงานส่งได้ แต่ไม่มีประโยชน์ให้แก่ทีมงาน หรือองค์กรเลย Bad – หนี้แบบซุกไว้ใต้พรม หนี้แบบนี้ ถ้าเกิดแล้วระบบงานของเราคงจะรอดยาก หรือขึ้น Production ได้ แต่ปัญหาเพียบบบบ ท้ายที่สุดครับ เราสามารถทำให้ Code ดีขึ้นได้นะครับ ขอแค่มีความกล้าที่จะเข้าไปจัดการกับมัน แม้ว่า Legacy Code นั้น เป็นตัวทำเงินให้กับหน่วยงาน หรือองค์กร แต่ถ้าทิ้งไว้นานเข้า หนี้มันเยอะจากดอกเบี้ยนะครับ ระบบยิ่งเก่า ถ้า Code มันแย่ ค่าใช้จ่ายในการจัดการมันจะยิ่งสูงขึ้นเรื่อยๆครับ และก็ระดับของหนี้แปรผันระดับความรู้ Business ของ Develop ครับ ถ้ารู้ไม่ครบ ระบบอาจจะมีหนี้ โดยที่เราไม่รู้ตัวก็ได้นะ

Proudly-Found-Elsewhere Syndrome

  Proudly-Found-Elsewhere Syndrome (PFE Syndrome) หรือ Invent Syndrome ความหมายของมันแตกต่างกับตัว Not-Invented-here Syndrome อย่างสิ้นเชิงเลยครับ คือ มีการสร้างงาน หรือ นวัตกรรมใหม่ขึ้นมาครับ สำหรับในมุมของ Software Development เป็นการนำ Library ที่ Common มาใช้งานเสริมได้ เวลาที่เหลือเราก็เอาไปใส่ใจกับส่วนของ Core Business มากขึ้นได้ครับ ส่วน PFE Syndrome คำแนะนำของผม คือ ต้องเปิดใจ พร้อมที่จะเรียนรู้ และคำนึงถึงความสมเหตุสมผลที่เลือกใช้ เพราะ มันไม่ได้มีวิธีการตายตัวที่ตอบโจทย์กับปัญหาต่างๆครับ และก็ท้ายที่สุด ผมมีบทความแนะนำครับ From not invented here to proudly found elsewhere โดยบทความกล่าวถึง Drupal เป็น CMS ยอดนิยม Blognone ใช้ตัวนี้อยู่ครับ โดยมีการเปลี่ยนจากที่ต้องทำเองทุกๆอย่าง (Not Invented Here) มาใช้ Library หรือ Tools ของชุนชมภายนอกแทน มาเชื่อมต่อกับตัว Core ของ Drupal ครับ (Proudly Found Elsewhere) แม้จะต้องปรับแก้เยอะ แต่ประโยชน์ที่ได้รับนั้นมี ดังนี้ครับ Tested Code Reused Code Open Source  

Not-Invented-Here Syndrome

Not-Invented-Here Syndrome

Not-Invented-Here Syndrome หลายคนอาจจะงง ว่า Blog นี้มันสาย IT นี่หว่า แต่แล้วทำไมมาเขียนแนวคุณหมอซะหละ สำหรับเจ้า Not-Invented-Here Syndrome หรือ NIT Syndrome คือ การยึดติดกับสิ่งเดิม ระบบความเชื่อความคิดของตนเองเป็นหลัก มักจะพบในหน่วยงาน หรือองค์กรที่มีอายุยาวนาน และประสบความสำเร็จมากมายครับ ซึ่งเจ้าตัว Not-Invented-Here Syndrome มันเป็นตัวขัดขวางสิ่งที่เรียกว่า นวัตกรรม หรือ Innovation นั้นเองครับ โดยเจ้า NIT Syndrome มีส่วนที่ต่างๆ ที่บ่งบอกว่า หน่วยงาน หรือองค์กร กำลังจะเป็น ดังนี้ครับ แต่เจ้า NIT Syndrome มันก็ไม่ได้ร้ายเสมอไปนะครับ บางครับมันมีเหตุผลที่จำเป็นเหมือนกันนะครับ เช่น โมดูลนี้มันเป็น Core Business ถ้าไปหา Library มาใช้ก็ได้ แค่มันไม่ยืดหยุ่น หากมี Change เป็นต้น เขียนไปเขียนมา ก็โยงเข้าเรื่องทาง IT ได้เนอะ 55555  สำหรับการแก้ปัญหา NIT Syndrome ไม่ยาก แต่ต้องเปิดใจ พร้อมที่จะเรียนรู้ และคำนึงถึงความสมเหตุสมผลที่เลือกใช้ครับ และสร้างนวัตกรรมใหม่ๆขึ้นมาครับ และใครที่อยากอ่านเพิ่มเติมลองไปดูในตาม Reference ที่ผมได้แนบมาด้วยครับ Reference

[CR] ลอง Jeffer Steak ชุด Extra 199 บาทครับ

Jeffer Steak เป็นร้านสเต็กสัญชาติไทย ราคาย่อมเยาว์คับ สามารถจัดราคาได้ตามที่พุงต้องการ 555 หลังจาก Coding กับเขียน Blog เสร็จ ผมก็มาใช่สิทธิลดหย่อนภาษีจากการกิน กินช่วยขาติ ไม่ใช่ไปโกงกินนะครับ แต่เป็นการกินในช่วงวันหยุดยาวสงกรานต์ 9-17 เมษายน 2559 ครับ สำหรับวันนี้เมนูที่ลองเป็นชุด 199 เลือก Steak ได้ 2 ชิ้น ชิ้นแรกเป็น Pork Shop ถัดมาเป็นสเต๊กไก่ Jeffer สีน่าทานช่ายไหมม และก็ Topping ผมได้เลือกเป็นแบบ Extra เอามันอบแทน ดูดีกว่าข้าวผัด Jeffer กับ เฟรนฟราย มากครับ เอามันอบทานคู่กับซอสพริกไทยดำ เข้ากันได้ดี และรูปที่เหลือเป็นองค์ประกอบอื่นๆในจานครับ 😀 ท้ายที่สุด ร้านไม่มี Service Charge ครับ ดีเวอร์ เป๊ะปังสุดๆ

ไปบริจาคเลือดครั้งแรก

วันนี้วันดี 12 เมษา เลยตัดสินใจใช้วันลาที่สะสมแแต้มไว้เยอะถึงเกือบ 50 วัน 555 โดยแพลนวันนี้ คือ นั่งรถเมล์ชมวิวไปเล่นๆ โดยมีปลายทางอยู่ที่ ศูนย์บริการโลหิตแห่งชาติ สภากาชาดไทย ถนนอังรีดูนังต์ ครับ มาบริจาคเลือดครั้งแรก หลังจากหาวันหยุดยาวได้พอดี (เผื่อเวลาพักผ่อนยาวววว ถ้าไหวก็มาทำตัวระบบ BOT DMS ต่อครับ) หลังจากลง 177 เดินตาม Google Map มาเรื่อยๆ ประมาณ 15 นาทีครับ พอเดินเข้ามาถึง ก็มีโครงการแจกเสื้อเลย คุ้มๆ 5555 ไม่คิดว่าจะได้ ตอนแรกเดินมาก็งงๆครับ โดยตอนนีมีเจ้าหน้าที่แนะนำครับ โดยขั้นตอนหลังๆ อยู่ที่ป่ายนี้ครับ STEP 1: ไปลงทะเบียน กรอกเอกสาร วัดความดันจากเครื่องวัดความดันอัตโนมัติแบบสอดแขนครับ STEP 2: ส่งเอกสารให้แผนทะเบียน Key ข้อมูลเข้าระบบ STEP 3: เป็นการตรวจเลือดคร่าวๆ ซักถามประวัตินิดหน่อยก็โดนเจาะครับ โดยคุณหมอ ได้แนะนำคร่าวๆ ดังนี้ นอนให้ได้เยอะที่สุด และปกติ ไม่ควรนอนหลังเที่ยงคืนครับ พยายามไม่กินของมันๆ ก่อนบริจาค เป็นไปได้คราวดื่มน้ำเยอะๆครับ เพราะ เราเสียเลือดไปเยอะครับ และป้องอาการวิงเวียน และช็อคครับ ถ้ามีพฤิตกรรมเสี่ยง ห้ามบริจาคนะครับ ในใบลงทะเบียนจะมีแบบสอบถามอยู่ครับ อ๋อ และก็จะได้ยาบำรุง เพิ่มธาตุเหล็กด้วยครับ และก็ ถ้ามาครั้งแรกอาจจะมีการตรวจ Group เลือด นิดๆหน่อยๆครับ STEP 4-5: เจาะเลือดแล้วครับบบบบ (มี 2 ห้องครับ แล้วแต่ดวงครับ) ถ้าไปคิวแขนซ้ายจะเร็วกว่าครับ ฮ่าๆ จากนั้นโดนเจาะดูดเลือดไปครับ โดยวันนี้เสียเลือดไป 450 ซีซี ครับ STEP 6: หลังจากเสียเลือดไปเยอะ เรามาฟื้นพลังด้วยของกินกันครับ STEP 7: รับของที่ระลึกครับ เข้าใจว่าได้ตามจำนวนครั้งที่บริจาคครับ STEP…

บัญชี FCD คือ อะไร

พอดีลองทำโปรแกรม BOT DMS  แล้วเห็นข้อมูลตัวอย่างที่ลูกค้าส่งมาให้ เลยลองหาข้อมูลเล่นๆ ดูว่า เจ้าบัญชี FCD คือ อะไร โดยบัญชี FCD ย่อมาจาก Foreign Currency Deposit โดยมีจุดประสงค์ เพื่อลดการผันผวนของค่าเงิน เช่น หลายคนอาจจะงงนะครับว่าบัญชี FCD มันลดการผันผวนของค่าเงินได้อย่างไร ลองดัวอย่างดีกว่าครับ เช่น แต่หลายคนอย่าคิดจะเอาบัญชี FCD มาเก็งกำไรค่าเงินนะครับ เพราะ อ้าว!!! แล้วถ้าไม่อยากเปิดบัญชี FCD ดองไว้ เราสามารถใช้ Product ทางการเงินอื่นๆช่วยลดการผันผวนของค่าเงินได้ไหม คำตอบ คือ มืนะครับ อาทิ เช่น สำหรับแต่ละตัว มีความแตกต่างกันอย่างไร เดี๋ยวผมเขียน Blog อธิบายเรื่อยๆครับ