คลังเก็บป้ายกำกับ: MSSQL

MSSQL Result ??? in Result Set

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

วิธีการเปลี่ยน

ไปที่ Control Panel คลิกที่ Regional and Language Options ดังรูป

set-language-with-mssql-01

อ่านเพิ่มเติม →

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

Hide system tables in SQL Server Enterprise Manager

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

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

การใช้ 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) -- วนลูปคัพ
BEGIN
update table_exp_emp_detail set department_code = @DEPARTMENT_CODE where employee_code = @EMPLOYEE_CODE
FETCH NEXT FROM tempEMP into @EMPLOYEE_CODE ,@DEPARTMENT_CODE -- loop นั่นเอง
END
CLOSE tempEMP
DEALLOCATE tempEMP

rollback tran g4

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

หาค่าซ้ำ

SELECT column,COUNT(*) c FROM table
GROUP BY column HAVING COUNT(*) > 1

อันนี้หาหลายฟิลล์

SELECT EMP_CODE,COUNT(*) c FROM department
GROUP BY EMP_CODE ,is_active HAVING COUNT(*) > 1 and is_active = 'Y'
ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

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

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

begin tran t3

--query ต่างๆ

rollback tran t3

ซึ่งถ้าเราพลาดกด f5 โดยยังไม่ได้ เลือก query ทุกอย่างจะไม่กระทำ โอ้จอรจ์ เหมาะกะคนอย่างผมจิงๆ

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย

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 select
mssql insert from another table

ข้อความนี้ถูกเขียนใน Database และติดป้ายกำกับ บน โดย