Archive for the ‘MSSQL’ Category

Is there For Loop in MSSQL?

ใน MSSQL มี For Loop หรือเปล่า นี่คือคำถาม จากที่ลอง Search ๆ ดูแล้วปรากฏไม่มีนะครับ แต่สามารถใช้ While แทนได้ดังตัวอย่างคัพ declare @i int set @i=0 while (@i<10) begin print @i set @i=@i+1 end ลองรันกันดูคัพ

MSSQL Result ??? in Result Set

ในกรณีที่เราเรียกดูข้อมูลจาก MSSQL แล้ว ผลที่ ได้จากการ Run Query ในโปรแกรมที่เขียนด้วย PHP หรือ ASP แล้วแสดงผลกลับมาเป็น ??? จากที่ผมเคยเจอ ผมได้ทำการเปลี่ยน Regional and Language Options แล้วจะทำให้ Return เป็น ภาษาไทยตามความต้องการ วิธีการเปลี่ยน ไปที่ Control Panel คลิกที่ Regional and Language Options ดังรูป

Hide system tables in SQL Server Enterprise Manager

ซ่อน System Table ใน SQL Server Enterprise Manager หลายครั้งหลายครา ที่เปิด MS SQL Enterprise Manager หรือ Query Analyzer ขึ้นมาจะมี Table ที่เป็น ของ system อยู่ ซึ่ง จริง ๆ เราแทบไม่ต้องใช้ในการทำงานปกติ วิธี การ ปิดไม่ให้ Table ประเภทนี้แสดงผล สามารถทำได้ดังนี้

การใช้ cursor ในการอัพเดตข้อมูล เร็วกว่า การเขียนโปรแกรม?

ฝาก code ไว้ในอ้อมใจ begin tran g4 DECLARE @EMPLOYEE_CODE varchar(8) , @DEPARTMENT_CODE varchar(4) –ประกาศค่าตัวแปลในที่นี้เป็นหมายเลขบัญชี DECLARE tempEMP CURSOR FOR — ประกาศชื่อ tempAR เป็น Cursor SELECt employee_code,department_code FROM tmp_emperror — query statement ดึงข้อมูล OPEN tempEMP FETCH NEXT FROM tempEMP into @EMPLOYEE_CODE ,@DEPARTMENT_CODE — นำค่า employee_code และ department_code ใน table มาใส่ใน ตัวแปล @ARD_ACC_NO ของ mssql WHILE (@@FETCH_STATUS = 0) [...]

การหาค่าซ้ำใน Table

หาค่าซ้ำ SELECT column,COUNT(*) c FROM table GROUP BY column HAVING COUNT(*) &gt; 1 อันนี้หาหลายฟิลล์ SELECT EMP_CODE,COUNT(*) c FROM department GROUP BY EMP_CODE ,is_active HAVING COUNT(*) &gt; 1 and is_active = ‘Y’

การป้องกันการอัพเดตผิดพลาดใน Query Analysis MSSQL

บางครั้งเราชอบเขียน Code SQL เยอะๆ หลายบรรทัด แล้วค่อย รัน query ที่เลือกไว้ ใน Query Analyser แต่ในบางครั้ง เราเขียน query ที่มีการอัพเดต query ด้วย ซึ่ง จะมีกระทบอย่างแรงกับ Database ของเรา วิธีป้องกันความผิดพลาดแบบนั้น ทำได้ง่ายๆ คือ ลบ query ที่ไม่ใช้ใน Query Analyser ทิ้งซะก่อน แต่น้อยคนจะทำ ผมจึงนำเสนอวิธีใหม่ โดยใช้ Transaction เข้ามาช่วย โดยการ เขียน begin tran t3 –query ต่างๆ rollback tran t3 ซึ่งถ้าเราพลาดกด f5 โดยยังไม่ได้ เลือก query ทุกอย่างจะไม่กระทำ โอ้จอรจ์ เหมาะกะคนอย่างผมจิงๆ

Microsof SQL Insert from Table อื่น | mssql insert from

ในกรณีที่อยู่ใน Table เดียวกัน ต้องการ Duplicate เช่น อาจจะเป็นการ Copy Group เป็นต้น INSERT INTO table1 (f1, f2) SELECT f1, f2 FROM table1 where f1 = ‘?’ กรณีเป็น Table อื่น INSERT INTO table1 (f1, f2) SELECT f3, f4 FROM table2 where f1 = ‘?’ อันนี้ประมาณว่า Field ต้อง Datatype เดียวกันนะครับ รายละเอียดการ Insert From จากเว็บ www.sqlteam.com คำค้นที่น่าจะเกี่ยวข้อง sql insert from [...]