數(shù)據(jù)庫(kù)sql變量_第1頁(yè)
數(shù)據(jù)庫(kù)sql變量_第2頁(yè)
數(shù)據(jù)庫(kù)sql變量_第3頁(yè)
數(shù)據(jù)庫(kù)sql變量_第4頁(yè)
數(shù)據(jù)庫(kù)sql變量_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言第第2章章 Transact-SQL語(yǔ)言語(yǔ)言 2.1 數(shù)據(jù)定義語(yǔ)言(DDL) 2.2 數(shù)據(jù)操縱語(yǔ)言(DML) 2.3 數(shù)據(jù)控制語(yǔ)言(DCL) 2.4 系統(tǒng)存儲(chǔ)過(guò)程 2.5 其它語(yǔ)言元素 上一章上一章返回目錄返回目錄第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言Transact-SQL語(yǔ)言主要組成部語(yǔ)言主要組成部分分 數(shù)據(jù)定義語(yǔ)言(DDL,Data Definition Language)數(shù)據(jù)操縱語(yǔ)言(DML,Data Manipularion Language)數(shù)據(jù)控制語(yǔ)言(DCL,Data Co

2、ntrol Language)系統(tǒng)存儲(chǔ)過(guò)程(System Stored Procedure)一些附加的語(yǔ)言元素第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2.1 數(shù)據(jù)定義語(yǔ)言(數(shù)據(jù)定義語(yǔ)言(DDL)數(shù)據(jù)定義語(yǔ)言是指用來(lái)定義和管理數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)中的各種對(duì)象的語(yǔ)句,這些語(yǔ)句包括CREATE、ALTER和DROP等語(yǔ)句。在SQL Server 2000中,數(shù)據(jù)庫(kù)對(duì)象包括表、視圖、觸發(fā)器、存儲(chǔ)過(guò)程、規(guī)則、缺省、用戶(hù)自定義的數(shù)據(jù)類(lèi)型等。這些對(duì)象的創(chuàng)建、修改和刪除等都可以通過(guò)使用CREATE、ALTER、DROP等語(yǔ)句來(lái)完成。第第2 2章章 Transact-SQLTrans

3、act-SQL語(yǔ)言語(yǔ)言程序:創(chuàng)建數(shù)據(jù)庫(kù)表的一個(gè)例子程序:創(chuàng)建數(shù)據(jù)庫(kù)表的一個(gè)例子 CREATE TABLE publishers( pub_id char(4) NOT NULL CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED CHECK (pub_id IN (1389, 0736, 0877, 1622, 1756) OR pub_id LIKE 990-90-9), pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL, country varchar(30) N

4、ULL DEFAULT(USA)第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序2:修改視圖的一個(gè)例子:修改視圖的一個(gè)例子 USE pubs GO ALTER VIEW yourview AS SELECT title, mycount= ROWCOUNT, ytd_sales FROM titles WHERE type = mod_cook GO SELECT * FROM yourview GO第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序3:刪除觸發(fā)器的一個(gè)例子:刪除觸發(fā)器的一個(gè)例子 / * 下 面 的 例 子 將 刪

5、除 觸 發(fā) 器employee_insupd。*/ USE pubs IF EXISTS (SELECT name FROM sysobjects WHERE name = employee_insupd AND type = TR) DROP TRIGGER employee_insupd GO第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2.2 數(shù)據(jù)操縱語(yǔ)言(數(shù)據(jù)操縱語(yǔ)言(DML) 數(shù)據(jù)操縱語(yǔ)言是指用來(lái)查詢(xún)、添加、修改和刪除數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)句,這些語(yǔ)句包括SELECT、INSERT、UPDATE、DELETE等。在默認(rèn)情況下,只有sysadmin、dbcreato

6、r、db_owner或db_datawriter等角色的成員才有權(quán)利執(zhí)行數(shù)據(jù)操縱語(yǔ)言。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言1、SELECT語(yǔ)句語(yǔ)句 SELECT語(yǔ)句的語(yǔ)法形式如下: SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC COMPUTE clauseFOR BROWSE第第

7、2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序4:顯示居住在加利福尼亞州且顯示居住在加利福尼亞州且姓名不為姓名不為 McBadden 的作者列。的作者列。 USE pubs SELECT au_fname, au_lname, phone AS Telephone FROM authors WHERE state = CA and au_lname McBadden ORDER BY au_lname ASC, au_fname ASC第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序5:使用兩個(gè)相關(guān)子查詢(xún)查找作者:使用兩個(gè)相關(guān)子查詢(xún)

8、查找作者姓名,這些作者至少參與過(guò)一本受歡迎姓名,這些作者至少參與過(guò)一本受歡迎的計(jì)算機(jī)書(shū)籍的創(chuàng)作。的計(jì)算機(jī)書(shū)籍的創(chuàng)作。 USE pubs SELECT au_lname, au_fnameFROM authorsWHERE au_id IN (SELECT au_id FROM titleauthor WHERE title_id IN (SELECT title_id FROM titlesWHERE type = popular_comp)第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序7:先刪除表:先刪除表T1,然后又創(chuàng)建一個(gè)帶有四個(gè)列,然后又創(chuàng)建一個(gè)帶有四

9、個(gè)列的表的表T1。最后利用。最后利用INSERT 語(yǔ)句插入一些數(shù)據(jù)行,語(yǔ)句插入一些數(shù)據(jù)行,這些行只有部分列包含值這些行只有部分列包含值。 IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = T1) DROP TABLE T1 GO CREATE TABLE T1 ( column_1 int identity, column_2 varchar(30) CONSTRAINT default_name DEFAULT (column default),第第2 2章章 Transact-SQLT

10、ransact-SQL語(yǔ)言語(yǔ)言column_3 int NULL, column_4 varchar(40)INSERT INTO T1 (column_4) VALUES (Explicit value)INSERT INTO T1 (column_2,column_4) VALUES (Explicit value, Explicit value)INSERT INTO T1 (column_2,column_3,column_4) VALUES (Explicit value,-44,Explicit value)SELECT * FROM T1第第2 2章章 Transact-SQLT

11、ransact-SQL語(yǔ)言語(yǔ)言程序清單程序清單2-8:一個(gè)簡(jiǎn)單的修改:一個(gè)簡(jiǎn)單的修改語(yǔ)句。語(yǔ)句。 UPDATE publishers SET city = Atlanta, state = GA第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序清單程序清單2-9:一個(gè)帶有:一個(gè)帶有WHERE條件的修改語(yǔ)句。條件的修改語(yǔ)句。 UPDATE authors SET state = PC, city = Bay City WHERE state = CA AND city = Oakland 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2.4 系

12、統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程是SQL Server系統(tǒng)創(chuàng)建的存儲(chǔ)過(guò)程,它的目的在于能夠方便地從系統(tǒng)表中查詢(xún)信息,或者完成與更新數(shù)據(jù)庫(kù)表相關(guān)的管理任務(wù)或其它的系統(tǒng)管理任務(wù)。系統(tǒng)存儲(chǔ)過(guò)程可以在任意一個(gè)數(shù)據(jù)庫(kù)中執(zhí)行。系統(tǒng)存儲(chǔ)過(guò)程創(chuàng)建并存放于系統(tǒng)數(shù)據(jù)庫(kù)master中,并且名稱(chēng)以sp_或者xp_開(kāi)頭。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言系統(tǒng)存儲(chǔ)過(guò)程的部分示例如下:系統(tǒng)存儲(chǔ)過(guò)程的部分示例如下: sp_addtype:用于定義一個(gè)用戶(hù)定義數(shù)據(jù)類(lèi)型。 sp_configure:用于管理服務(wù)器配置選項(xiàng)設(shè)置。 xp_sendmail:用于發(fā)送電子郵件或?qū)ず粜畔ⅰ?sp_

13、stored_procedures:用于返回當(dāng)前數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程的清單。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言 sp_help:用于顯示參數(shù)清單和其數(shù)據(jù)類(lèi)型。 sp_depends:用于顯示存儲(chǔ)過(guò)程依據(jù)的對(duì)象或者依據(jù)存儲(chǔ)過(guò)程的對(duì)象。 sp_helptext:用于顯示存儲(chǔ)過(guò)程的定義文本。 sp_rename:用于修改當(dāng)前數(shù)據(jù)庫(kù)中用戶(hù)對(duì)象的名稱(chēng)。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2.5 其它語(yǔ)言元素其它語(yǔ)言元素 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言注釋是程序代碼中不執(zhí)行的文本字符串(也稱(chēng)為

14、注解)。在SQL Server中,可以使用兩種類(lèi)型的注釋字符:一種是ANSI標(biāo)準(zhǔn)的注釋符“-”,它用于單行注釋?zhuān)涣硪环N是與C語(yǔ)言相同的程序注釋符號(hào),即“/* */”。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言變量變量變量是一種語(yǔ)言中必不可少的組成部分。Transact-SQL語(yǔ)言中有兩種形式的變量,一種是用戶(hù)自己定義的局部變量,另外一種是系統(tǒng)提供的全局變量。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言1. 局部變量局部變量局部變量是一個(gè)能夠擁有特定數(shù)據(jù)類(lèi)型的對(duì)象,它的作用范圍僅限制在程序內(nèi)部。局部變量可以作為計(jì)數(shù)器來(lái)計(jì)算循環(huán)執(zhí)行的次數(shù)

15、,或是控制循環(huán)執(zhí)行的次數(shù)。另外,利用局部變量還可以保存數(shù)據(jù)值,以供控制流語(yǔ)句測(cè)試以及保存由存儲(chǔ)過(guò)程返回的數(shù)據(jù)值等。局部變量被引用時(shí)要在其名稱(chēng)前加上標(biāo)志“”,而且必須先用DECLARE命令定義后才可以使用。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2. 全局變量全局變量 全局變量是SQL Server系統(tǒng)內(nèi)部使用的變量,其作用范圍并不僅僅局限于某一程序,而是任何程序均可以隨時(shí)調(diào)用。全局變量通常存儲(chǔ)一些SQL Server的配置設(shè)定值和統(tǒng)計(jì)數(shù)據(jù)。用戶(hù)可以在程序中用全局變量來(lái)測(cè)試系統(tǒng)的設(shè)定值或者是Transact-SQL命令執(zhí)行后的狀態(tài)值。 第第2 2章章 Trans

16、act-SQLTransact-SQL語(yǔ)言語(yǔ)言使用全局變量時(shí)應(yīng)該注意以下使用全局變量時(shí)應(yīng)該注意以下幾點(diǎn):幾點(diǎn): 全局變量不是由用戶(hù)的程序定義的,它們是在服務(wù)器級(jí)定義的。 用戶(hù)只能使用預(yù)先定義的全局變量。 引用全局變量時(shí),必須以標(biāo)記符“”開(kāi)頭。 局部變量的名稱(chēng)不能與全局變量的名稱(chēng)相同,否則會(huì)在應(yīng)用程序中出現(xiàn)不可預(yù)測(cè)的結(jié)果。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言運(yùn)算符是一些符號(hào),它們能夠用來(lái)執(zhí)行算術(shù)運(yùn)算、字符串連接、賦值以及在字段、常量和變量之間進(jìn)行比較。在SQL Server 2000中,運(yùn)算符主要有以下六大類(lèi):算術(shù)運(yùn)算符、賦值運(yùn)算符、位運(yùn)算符、比較運(yùn)算符、邏

17、輯運(yùn)算符以及字符串串聯(lián)運(yùn)算符。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言1算術(shù)運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符可以在兩個(gè)表達(dá)式上執(zhí)行數(shù)學(xué)運(yùn)算,這兩個(gè)表達(dá)式可以是數(shù)字?jǐn)?shù)據(jù)類(lèi)型分類(lèi)的任何數(shù)據(jù)類(lèi)型。算術(shù)運(yùn)算符包括加(+)、減()、乘(*)、除(/)和取模(%)。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2賦值運(yùn)算符賦值運(yùn)算符Transact-SQL 中只有一個(gè)賦值運(yùn)算符,即等號(hào)(=)。賦值運(yùn)算符使我們能夠?qū)?shù)據(jù)值指派給特定的對(duì)象。另外,還可以使用賦值運(yùn)算符在列標(biāo)題和為列定義值的表達(dá)式之間建立關(guān)系。第第2 2章章 Transact-SQLTran

18、sact-SQL語(yǔ)言語(yǔ)言3位運(yùn)算符位運(yùn)算符位運(yùn)算符使我們能夠在整型數(shù)據(jù)或者二進(jìn)制數(shù)據(jù)(image 數(shù)據(jù)類(lèi)型除外)之間執(zhí)行位操作。此外,在位運(yùn)算符左右兩側(cè)的操作數(shù)不能同時(shí)是二進(jìn)制數(shù)據(jù)。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言表表2-1 位運(yùn)算符位運(yùn)算符 運(yùn)運(yùn) 算算 符符 含含 義義 &(按位(按位 AND)按位按位 AND(兩個(gè)操作數(shù))。(兩個(gè)操作數(shù))。|(按位(按位 OR)按位按位 OR(兩個(gè)操作數(shù))。(兩個(gè)操作數(shù))。(按位互斥(按位互斥 OR)按位互斥按位互斥 OR(兩個(gè)操作數(shù))。(兩個(gè)操作數(shù))。第第2 2章章 Transact-SQLTransac

19、t-SQL語(yǔ)言語(yǔ)言4比較運(yùn)算符比較運(yùn)算符比較運(yùn)算符用于比較兩個(gè)表達(dá)式的大小或是否相同,其比較的結(jié)果是布爾值,即TRUE(表示表達(dá)式的結(jié)果為真)、FALSE(表示表達(dá)式的結(jié)果為假)以及UNKNOWN。除了 text、ntext 或 image 數(shù)據(jù)類(lèi)型的表達(dá)式外,比較運(yùn)算符可以用于所有的表達(dá)式。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言5邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符可以把多個(gè)邏輯表達(dá)式連接起來(lái)。邏輯運(yùn)算符包括AND、OR和NOT等運(yùn)算符。邏輯運(yùn)算符和比較運(yùn)算符一樣,返回帶有 TRUE 或 FALSE 值的布爾數(shù)據(jù)類(lèi)型。第第2 2章章 Transact-SQLTr

20、ansact-SQL語(yǔ)言語(yǔ)言6字符串串聯(lián)運(yùn)算符字符串串聯(lián)運(yùn)算符字符串串聯(lián)運(yùn)算符允許通過(guò)加號(hào) (+) 進(jìn)行字符串串聯(lián),這個(gè)加號(hào)即被稱(chēng)為字符串串聯(lián)運(yùn) 算 符 。 例 如 對(duì) 于 語(yǔ) 句SELECT abc+def,其結(jié)果為abcdef。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言運(yùn)算符的優(yōu)先等級(jí)從高到低運(yùn)算符的優(yōu)先等級(jí)從高到低如下所示如下所示 括號(hào):();乘、除、求模運(yùn)算符:*、/、%;加減運(yùn)算符:+、- ;比 較 運(yùn) 算 符 : = 、 、 = 、 = 、!=、!、!;位運(yùn)算符:、&、|;邏輯運(yùn)算符:NOT;邏輯運(yùn)算符:AND;邏輯運(yùn)算符:OR。第第2 2章章

21、 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言函數(shù)函數(shù)在Transact-SQL語(yǔ)言中,函數(shù)被用來(lái)執(zhí)行一些特殊的運(yùn)算以支持SQL Server的標(biāo)準(zhǔn)命令。Transact-SQL 編程語(yǔ)言提供了三種函數(shù): 行集函數(shù):行集函數(shù)可以在Transact-SQL語(yǔ)句中當(dāng)作表引用。 聚合函數(shù):聚合函數(shù)用于對(duì)一組值執(zhí)行計(jì)算并返回一個(gè)單一的值。 標(biāo)量函數(shù):標(biāo)量函數(shù)用于對(duì)傳遞給它的一個(gè)或者多個(gè)參數(shù)值進(jìn)行處理和計(jì)算,并返回一個(gè)單一的值。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2日期和時(shí)間函數(shù)日期和時(shí)間函數(shù)日期和時(shí)間函數(shù)用于對(duì)日期和時(shí)間數(shù)據(jù)進(jìn)行各種不同的處理和運(yùn)算,并

22、返回一個(gè)字符串、數(shù)字值或日期和時(shí)間值。在SQL Server 2000中,日期和時(shí)間函數(shù)的類(lèi)型如表2-5所示;另外,表2-6列出了日期類(lèi)型的名稱(chēng)、縮寫(xiě)形式以及可接受的值。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言表表2-5 日期和時(shí)間函數(shù)的類(lèi)型日期和時(shí)間函數(shù)的類(lèi)型函函 數(shù)數(shù)參參 數(shù)數(shù)DATEADD(datepart,number,date)DATEDIFF(datepart,date1,date2)DATENAME(datepart,date)DATEPART(datepart,date)DAY(date)GETDATE()MONTH(date)YEAR( dat

23、e )第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序33:從:從GETDATE函數(shù)返回的日期中函數(shù)返回的日期中提取月份數(shù)提取月份數(shù) SELECT DATEPART(month, GETDATE() AS Month Number 運(yùn)行結(jié)果為: Month Number - 2 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序程序4:從日期:從日期 03/12/1998 中返中返回月份數(shù)、天數(shù)和年份數(shù)?;卦路輸?shù)、天數(shù)和年份數(shù)。 SELECT MONTH(03/12/1998), DAY(03/12/1998),YEAR(03/12/1

24、998) 運(yùn)行結(jié)果為: - - - 3 12 1998第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言3數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)用于對(duì)數(shù)字表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算并返回運(yùn)算結(jié)果。數(shù)學(xué)函數(shù)可以對(duì)SQL Server提供的數(shù)字?jǐn)?shù)據(jù)(decimal、integer、float、real、money、smallmoney、smallint 和 tinyint)進(jìn)行處理。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序清單程序清單2-35: 在同一表達(dá)式中使用CEILING()、FLOOR()、ROUND()函數(shù)。select ceiling(13.4),

25、 floor(13.4), round(13.4567,3)運(yùn)行結(jié)果為:- - -14 13 13.4570第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言4轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)一般情況下,SQL Server會(huì)自動(dòng)處理某些數(shù)據(jù)類(lèi)型的轉(zhuǎn)換。例如,如果比較 char 和 datetime 表達(dá)式、smallint 和 int 表達(dá)式、或不同長(zhǎng)度的 char 表達(dá)式,SQL Server 可以將它們自動(dòng)轉(zhuǎn)換,這種轉(zhuǎn)換被稱(chēng)為隱性轉(zhuǎn)換。但是,無(wú)法由SQL Server自動(dòng)轉(zhuǎn)換的或者是SQL Server自動(dòng)轉(zhuǎn)換的結(jié)果不符合預(yù)期結(jié)果的,就需要使用轉(zhuǎn)換函數(shù)做顯示轉(zhuǎn)換。轉(zhuǎn)換函數(shù)有兩個(gè):C

26、ONVERT和CAST。第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言5系統(tǒng)函數(shù)系統(tǒng)函數(shù)系統(tǒng)函數(shù)用于返回有關(guān)SQL Server系統(tǒng)、用戶(hù)、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的信息。系統(tǒng)函數(shù)可以讓用戶(hù)在得到信息后,使用條件語(yǔ)句,根據(jù)返回的信息進(jìn)行不同的操作。與其它函數(shù)一樣,可以在SELECT語(yǔ)句的SELECT和WHERE子句以及表達(dá)式中使用系統(tǒng)函數(shù)。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言程序清單程序清單2-38 返回 Northwind 數(shù)據(jù)庫(kù)的 Employees 表中的首列的名稱(chēng)。USE NorthwindSELECT COL_NAME(OBJ

27、ECT_ID(Employees), 1)運(yùn)行結(jié)果為:EmployeeID第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言流程控制語(yǔ)句流程控制語(yǔ)句流程控制語(yǔ)句是指那些用來(lái)控制程序執(zhí)行和流程分支的命令,在SQL Server 2000中,流程控制語(yǔ)句主要用來(lái)控制SQL語(yǔ)句、語(yǔ)句塊或者存儲(chǔ)過(guò)程的執(zhí)行流程。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言1 IFELSE語(yǔ)句語(yǔ)句IFELSE語(yǔ)句是條件判斷語(yǔ)句,其中,ELSE子句是可選的,最簡(jiǎn)單的IF語(yǔ)句沒(méi)有ELSE子句部分。IFELSE語(yǔ)句用來(lái)判斷當(dāng)某一條件成立時(shí)執(zhí)行某段程序,條件不成立時(shí)執(zhí)行另一段程

28、序。SQL Server允許嵌套使用IFELSE語(yǔ)句,而且嵌套層數(shù)沒(méi)有限制。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言IFELSE語(yǔ)句的語(yǔ)法形式語(yǔ)句的語(yǔ)法形式IF Boolean_expression sql_statement | statement_block ELSE sql_statement | statement_block 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2BEGINEND語(yǔ)句語(yǔ)句BEGINEND語(yǔ)句能夠?qū)⒍鄠€(gè)Transact-SQL語(yǔ)句組合成一個(gè)語(yǔ)句塊,并將它們視為一個(gè)單元處理。在條件語(yǔ)句和循環(huán)等控制流程語(yǔ)

29、句中,當(dāng)符合特定條件便要執(zhí)行兩個(gè)或者多個(gè)語(yǔ)句時(shí),就需要使用BEGINEND語(yǔ)句,其語(yǔ)法形式為:BEGIN sql_statement | statement_block END 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言3CASE函數(shù)函數(shù) CASE函數(shù)可以計(jì)算多個(gè)條件式,并將其中一個(gè)符合條件的結(jié)果表達(dá)式返回。CASE函數(shù)按照使用形式的不同,可以分為簡(jiǎn)單CASE函數(shù)和搜索CASE函數(shù)。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言1、CASE函數(shù)的語(yǔ)法形式函數(shù)的語(yǔ)法形式 CASE input_expression WHEN when_ex

30、pression THEN result_expression .n ELSE else_result_expression END 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言2、搜索、搜索 CASE函數(shù)的語(yǔ)法形函數(shù)的語(yǔ)法形式式 CASE WHEN Boolean_expression THEN result_expression .n ELSE else_result_expression END 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言4 WHILECONTINUEBREAK語(yǔ)句語(yǔ)句 WHILECONTINUEBREAK語(yǔ)句用于設(shè)置重復(fù)執(zhí)行 SQL 語(yǔ)句或語(yǔ)句塊的條件。只要指定的條件為真,就重復(fù)執(zhí)行語(yǔ)句。其中,CONTINUE語(yǔ)句可以使程序跳過(guò)CONTINUE語(yǔ)句后面的語(yǔ)句,回到WHILE循環(huán)的第一行命令。BREAK語(yǔ)句則使程序完全跳出循環(huán),結(jié)束WHILE語(yǔ)句的執(zhí)行。 第第2 2章章 Transact-SQLTransact-SQL語(yǔ)言語(yǔ)言結(jié)束結(jié)束WHILE語(yǔ)句

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論