首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 7.0 入門教學(六):預存程序主體建構與流程控制

     編輯:關於SqlServer

預存程序主體限制

主體可包含任意 T-SQL 陳述式,但不得出現:CREATE DEFAULT, CREATE TRIGGER, CREATE PROCEDURE, CREATE VIEW, CREATE RULE。

1. 區域變數

  • 名稱以 @ 開頭,含字元與數字
  • 使用前必須宣告型別 (DECLARE)
  • 指派值用 SELECT (可從表取值或指派常數)
  • 單一 SELECT 可指派多個變數:SELECT @var1=32, @var2='MyAge'
  • 若 SELECT 無傳回資料,變數值保持不變

2. 條件與迴圈陳述式

IF...ELSE

IF (boolean_expr)
    {statements}
ELSE
    {statements}

多行陳述式需用 BEGIN...END 包裹。

WHILE 迴圈

WHILE (boolean_expr)
BEGIN
    statement(s)
    BREAK      -- 跳出迴圈 (到 END 之後)
    statement(s)
    CONTINUE   -- 回到迴圈開頭 (BEGIN 之後)
END

巢狀迴圈注意: 內層 BREAK 只跳出內層,外層繼續執行。

3. GOTO 陳述式

打破循序執行,跳轉至標籤。需搭配標籤使用。

DECLARE @num INT
IF @num = 0 GOTO Err
ELSE BEGIN PRINT 'authors found'; SELECT * FROM authors; GOTO Last END
Err: PRINT 'no authors found'
Last: PRINT 'Finish execution'

4. RETURN 陳述式

無條件結束預存程序,後續陳述式不執行。可回傳整數狀態值 (不可為 NULL)。

系統回傳碼對照:

值說明值說明
0成功-8非致命內部問題
-1遺漏物件-9達到系統極限
-2資料類型錯誤-10致命內部不一致
-3死鎖犧牲者-11致命內部不一致
-4權限錯誤-12表/索引損壞
-5語法錯誤-13資料庫損壞
-6混合使用者錯誤-14硬體錯誤
-7資源錯誤 (空間不足等)

5. 游標應用 (續)

需一列列處理時使用游標,五步驟:宣告 → 開啟 → 擷取 → 關閉 → 釋放 (詳細參見第七篇)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved