第十四章
控制項語法
•預設情況下,Adaptive Server的執行語法是按照順序
•T-SQL有以下的控制項
–if…else
–begin…end
–if exists
–while
–break
–continue
–return
if…else
•允許兩個或兩個以上分支條件執行
if condition
block_to_execute_when_condition_is_true
[ else
block_to_execute_when_condition_is_false ]
•你要建入的if的分支有三個或更多的分支可以使用else
if condition
block_to_execute_when_condition_is_true
[ else if
block_to_execute_when_condition_is_false ]
[ else
block_to_execute_when_condition_is_false ]
•最多可以使用150分支
begin…end
•begin…end讓您定義多個陳述式區塊
begin
statement
…
end
if exists
•if exists檢查看如果一個給定的條件下匹配數據存在
if [ not ] exists ( select_statement )
code_to_execute_when_condition_is_ture
[ else
code_to_exceute_when_condition_is_false ]
•常使用在建立一個資料庫物件之前檢查是否已經存在
•查詢系統資料表sysobjects
while
•while重複執行一組陳述直到條件變為假
while condition
block_to_execute
•可能出現的錯誤
•一個無限迴圈,是一個永遠執行循環
break
•break是使用跳脫while迴圈
continue
•continue是用來返回while迴圈的下一個循環
return
•return會使執行退出批次或存儲過程
select
•返回有用的資訊
select {“user_message” | variable_name | column_list}
•可以回傳任意組合text,變數值和資料表中的數據
•用來回傳除錯訊息
•文字或變數
print {“user_message” | variable_name}
•print使用的變數必須是char或varchar
•參數列表
print “user_message”, argument_list
•佔位符表示插入參數
–必須在%n格式!其中:
•n是一個整數,1 – 20
•n的值是使用順序
•參數可以是任何text或image數據類型除了
–參數暫時轉換為char
raiserror
•消息窗口返回有用的錯誤消息
raiserror error_number {“error_message” | variable} [, argument_list]
•raiserror返回兩條信息
–Error number 儲存在 @@error
–使用者自定的錯誤訊息,會回傳給使用者
•錯誤消息可能會或可能不會被重用,取決於他們指定地方
–只有在指定在raiserror語句 - 不可重用
–在sysusermessages表 - 可重複使用的指定
•信息編號必須是20000或更大
•如果消息不在sysusermessages儲存,那麼它每次使用時都必須指定
•新增
sp_addmessage message_number, “error_message”
•刪除
sp_dropmessage message_number
•返回可重複使用的錯誤訊息
raiserror error_number [, argument_list]
•訊息編號必需要定義在sysusermessages