คำสั่ง GOTO เป็นคำสั่งกระโดดง่ายๆ ที่อนุญาตให้โปรแกรมกระโดดโดยไม่มีเงื่อนไขจาก GOTO ไปยังตำแหน่งในโปรแกรมที่มีป้ายกำกับ (label) ในฟังก์ชันเดียวกัน
ไวยากรณ์
คำสั่ง GOTO ใน SQL Server ประกอบด้วย 2 ส่วน: คำสั่งและป้ายกำกับ ใช้รูปแบบดังนี้:
คำสั่ง GOTO ประกอบด้วยคีย์เวิร์ด GOTO ตามด้วยชื่อป้ายกำกับ label_name
GOTO label_name;
ส่วนป้ายกำกับประกอบด้วยชื่อป้ายกำกับ label_name และคำสั่งที่จะดำเนินการต่อไป
label_name: {. คำสั่งดำเนินการต่อไป .}
หมายเหตุ:
- label_name ต้องเป็นเอกลักษณ์ภายในขอบเขตของฟังก์ชัน
- ต้องมีอย่างน้อย 1 คำสั่งที่จะดำเนินการหลังจากประกาศป้ายกำกับ
ตัวอย่างการใช้งาน
DECLARE @Number INT = 1;
DECLARE @Total INT = 0;
WHILE @Number <= 10
BEGIN
IF @Number = 5
GOTO quantrimang;
ELSE
SET @Total = @Total + @Number;
SET @Number = @Number + 1;
END;
quantrimang:
PRINT @Total;
GO
ในตัวอย่างนี้ที่ใช้คำสั่ง GOTO เราสร้างป้ายกำกับชื่อ quantrimang เมื่อตัวแปร @Number ถึงค่า 5 โปรแกรมจะกระโดดไปยังตำแหน่งของป้ายกำกับ quantrimang ในฟังก์ชันและดำเนินการคำสั่งต่อจากนั้น
ดูเพิ่มเติม:
- คำสั่ง IF...ELSE ใน SQL Server
- ลูป WHILE ใน SQL Server
- คำสั่ง BREAK (ขวบควบคุม) ใน SQL Server