คำสั่งของ SQL Server

การรับค่า Indentity จากข้อมูลล่าสุดที่เพิ่มขึ้น หลังจากที่ใช้คำสั่ง INSERT เราสามารถส่งค่าที่เป็นเลขล่าสุดออกมาจาก store procedure ได้หลายวิธีดังนี้

  • SELECT @@IDENTITY หรือ
  • SELECT IDENT_CURRENT(‘ชื่อตาราง’) หรือ
  • SELECT SCOPE_IDENTITY()

หรือจะใช้คำสั่ง DBCC CHECKIDENT (ชื่อตาราง, NORESEED)
ซึ่งจะแสดงผลลัพธ์ออกมาเป็น:
Checking identity information: current identity value ‘1’, current column value ‘1’.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

เราสามารถเอามาปรับใช้ในการรับค่า Id (สมมุติ Id เป็นตัวอย่างฟิลด์เก็บรหัส สร้างเป็น Integer แบบ Indentity) ของรายการข้อมูลล่าสุดหลังจากที่ทำการเพิ่มข้อมูลแล้ว เราก็จะสามารถอ่านค่า Id เพื่อนำไปใช้งานได้ต่อไป นอกจากนี้ยังสามารถหาค่า Id ล่าสุดได้อีกหลายวิธี เช่น

  • SELECT MAX(Id) FROM ชื่อตาราง
  • SELECT TOP 1 Id  FROM ชื่อตาราง


การตรวจสอบเงื่อนไขด้วย EXISTS
กรณีต้องการตรวจสอบเงื่อนไขว่ามีข้อมูลอยู่ในฐานข้อมูลแล้วหรือไม่เราสามารถใช้คำสั่ง EXISTS ช่วยในการตรวจสอบได้ ตามตัวอย่าง

if EXISTS (select * from ชื่อตาราง where id = ‘123’)
— กรณีมีข้อมูลอยู่แล้ว
ELSE
— กรณียังไม่มีข้อมูล

การสุ่มเลือกข้อมูล (Random)
กรณีต้องการสุ่มเลือกข้อมูลเพื่อนำมาแสดงเราสามารถใช้ NEWID() เช่น SELECT top 5 * FROM ชื่อตาราง ORDER BY NEWID()

การนับจำนวน Record หลังจากรันคำสั่ง Insert, Update, Delete
/* how many rows were affected? */
SELECT @rc = @@ROWCOUNT