- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch11.T-SQL設計 批次處理概念 T-SQL的程式結構 錯誤與例外處理機制 Ch12.預存程序與觸發程序 建立預存程序、預存程序的應用 建立觸發程序、觸發程序的應用 Ch13.檢視與自訂函數 檢視的各種類型、檢視的建立 建立自訂函數、資料欄位中如何使用自訂函數 T-SQL 設計(Transact-SQL Programming) Chapter 11 Outline 11-1 在SQL敘述中使用註解 11-2 批次處理觀念 11-3 區域與全域變數 11-4 T-SQL的程式結構 11-5 錯誤處理 11-6 本章總結 11-1 在SQL敘述中使用註解 為了要加強資料存取的安全與效率,因此很多事情可以在伺服器端解決,因此衍生出許多的應用,如預存程序、觸發程序 、 檢視、 自訂函數等。 為了要設計出強大或是有效率的功能,因此必需要了解T-SQL的設計。 由於程式可能很長,因此必須加上註解才有助於閱讀與維護 單行註解:-- 多行註解:夾在 /* 與 */ 之間的文字皆是 11-2 批次處理觀念 批次(Batch) 由一群SQL敘述所組成 批次結束地方用GO敘述來標示 指令碼(Script) 由一個以上的批次所組成 由於SQL Server一次會執行批次內所有的SQL敘述,所以SQL敘述是否有錯誤就會影響整個結果 編譯錯誤(例如語法錯誤):就會妨礙執行計劃的編譯,因此該批次的任何SQL敘述都不會被執行 執行階段的錯誤:通常(例如算術溢位)會停止目前的敘述句和批次中隨後進行的敘述句;但有某些錯誤(例如強制違規)只會停止目前違反條件的敘述句,而批次中所有剩餘的敘述句會繼續執行 11-2 批次處理觀念 錯誤批次處理實例 一個指令碼包含三個批次(每一個批次用“Go”標示) 11-2 批次處理觀念 錯誤批次處理實例 11-2 批次處理觀念 錯誤批次處理實例 同一批次內有錯誤仍會繼續進行的例子 11-2 批次處理觀念 批次處理之限制條件 create default,create view , create rule ,create procedure, create trigger等敘述在處理時不能與其他敘述存在。 如果使用ALTER變更資料表結構,則同一批次中不能參考新資料行。 在一個批次中,如果預存程序(Stored procedure)不是第一個被執行的敘述,則在預存程序名稱前必須加上EXEC指令。 11-3 區域與全域變數 在T-SQL中配合一般SQL敘述或流程控制敘述,我們還可以使用「變數」(Variables)來做程式設計。T-SQL的變數有兩種,分別為區域變數(Local Variables)與全域變數(Global Variables) 區域變數是由‘@’符號開始的識別字 全域變數是由‘@@’符號開始的識別字 11-3 區域與全域變數 T-SQL中區域變數是用DECLARE敘述來宣告,敘述的語法如下: declare @Variable_name datatype [,@Variable_name datatype]…. @Variable_name:自行命名之區域變數 datatype可以是系統內建或使用者自訂的資料型態 區域變數的有效範圍是限制在宣告它的預存程序、觸發程序或批次中 當宣告區域變數後,它的初值(initial value)被設定為空值(Null value) 11-3 區域與全域變數 宣告區域變數範例一 11-3 區域與全域變數 指定區域變數的值可使用set或select SET的語法結構: SET @local_variable = expression expression為符合T-SQL語法的運算式 使用SELECT也有兩種方式,分別為指派選擇(Assignment Select)與擷取指派(Retrieval Select) 指派選擇的語法結構: SELECT @variable_name = expression(只是將SET改成使用SELECT而已) 11-3 區域與全域變數 擷取指派(Retrieval Select)選擇的語法結構與指派選擇相同,但是expression可以是SQL敘述,也就是可以將資料庫中的某一個特定值指派給區域變數。 11-3 區域與全域變數 SQL Server預先設定的變數 使用者不能自行宣告使用全域變數或更改它們的值 用“@@”為開頭的識別字 使用者可以透過全域變數的值得知目前的一些伺服器狀態。例如: @@CONNECTIONS:自上次啟動 SQL Server時算起之連線或嘗試連線的次數 @@ERROR :傳回上次執行 T-SQL 敘述時的錯誤代碼 11-4 T-SQL的程
文档评论(0)