《第06章 銷售管理數(shù)據(jù)庫(kù)編程》由會(huì)員分享,可在線閱讀,更多相關(guān)《第06章 銷售管理數(shù)據(jù)庫(kù)編程(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),單擊此處編輯母版標(biāo)題樣式,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,第六章 銷售管理數(shù)據(jù)庫(kù)編程,技能目標(biāo),學(xué)會(huì)使用,Transact-SQL,語(yǔ)言對(duì)銷售管理數(shù)據(jù)庫(kù)進(jìn)行應(yīng)用編程,以提供數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)能力,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,Transact-SQL,語(yǔ)言的分類,(,1,)數(shù)據(jù)定義語(yǔ)言,DDL,:用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的命令,絕大部分以,CREATE,開頭,如,CREATE TABLE,等。,(,2,)數(shù)據(jù)操作語(yǔ)言,DML,:用來(lái)操作數(shù)據(jù)庫(kù)中各種對(duì)象,對(duì)數(shù)據(jù)進(jìn)行修改
2、和檢索。,DML,語(yǔ)言主要有四種:,SELECT,(查詢)、,INSERT,(插入)、,UPDATE,(更新)和,DELETE,(刪除)。,(,3,)數(shù)據(jù)控制語(yǔ)言,DCL,:用來(lái)控制數(shù)據(jù)庫(kù)組件的存取許可、權(quán)限等命令 。,(,4,)事務(wù)管理語(yǔ)言,TML,:用于管理數(shù)據(jù)庫(kù)中的事務(wù)的命令 。,(,5,)其他語(yǔ)言元素:如標(biāo)識(shí)符、數(shù)據(jù)類型、流程控制和函數(shù)等。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,Transact-SQL,語(yǔ)法約定,Transact-SQL,語(yǔ)法格式約定,標(biāo)識(shí)符,續(xù)行,注釋,批處理,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,常量,根據(jù)常量值
3、的不同類型,常量分為字符串常量、二進(jìn)制常量、整型常量、實(shí)數(shù)常量、日期時(shí)間常量、貨幣常量和惟一標(biāo)識(shí)常量。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,變量,SQL Server2005,提供兩種變量:用戶自己定義的局部變量和系統(tǒng)提供的全局變量。,1,、局部變量,用戶自己定義的變量稱為局部變量。局部變量用于保存特定類型的單個(gè)數(shù)據(jù)值的對(duì)象。,定義格式:,DECLARE,局部變量名 數(shù)據(jù)類型, ,.n,【,例,】,定義一個(gè)整型變量。,【,例,】,定義三個(gè),varchar,類型變量和一個(gè)整型變量,局部變量的賦值,SET ,局部變量名,=,表達(dá)式,n,SELECT ,局部變量名,=,表
4、達(dá)式,n FROM,子句, WHERE,子句,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,變量(續(xù)),2,、全局變量,全局變量由系統(tǒng)定義和維護(hù)的變量,用于記錄服務(wù)器活動(dòng)狀態(tài)的一組數(shù)據(jù)。全局變量名由,符號(hào)開始。用戶不能建立全局變量,也不可能使用,SET,語(yǔ)句去修改全局變量的值。在,SQL Server2005,中,全局變量以系統(tǒng)函數(shù)的形式在使用。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,流程控制語(yǔ)句,1,、,BEGIN END,語(yǔ)句,BEGIN END,語(yǔ)句用于將多個(gè),Transact-SQL,語(yǔ)句組合為一個(gè)邏輯塊,相當(dāng)于一個(gè)單一語(yǔ)句,達(dá)到一起執(zhí)行的目
5、的。它的語(yǔ)法格式如下。,BEGIN,語(yǔ)句,1,語(yǔ)句,2,END,SQL Server 2005,允許,BEGIN END,語(yǔ)句嵌套使用。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,流程控制語(yǔ)句(續(xù)),2,、,IFELSE,語(yǔ)句,IFELSE,語(yǔ)句實(shí)現(xiàn)程序選擇結(jié)構(gòu)。它的語(yǔ)法格式如下。,IF,邏輯表達(dá)式,語(yǔ)句塊,1 , ELSE,語(yǔ)句塊,2 ,【,例,】,在銷售管理數(shù)據(jù)庫(kù)中,查詢員工的平均工資是否超過(guò),5000,元,并顯示相關(guān)信息。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,流程控制語(yǔ)句(續(xù)),3,、,WHILE,、,CONTINUE,和,BREAK,語(yǔ)
6、句,WHILE,語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。如果指定的條件為真,就重復(fù)執(zhí)行語(yǔ)句塊,直到邏輯表達(dá)式為假。它的語(yǔ)法格式如下。,WHILE,邏輯表達(dá)式,BEGIN,語(yǔ)句塊,1,CONTINUE ,BREAK ,語(yǔ)句塊,2,END,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,流程控制語(yǔ)句(續(xù)),5,、,RETURN,語(yǔ)句,RETURN,語(yǔ)句實(shí)現(xiàn)從查詢或過(guò)程中無(wú)條件退出的功能。 它的語(yǔ)法格式如下。,RETURN ,整數(shù)表達(dá)式,6,、,WAITFOR,語(yǔ)句,WAITFOR,語(yǔ)句實(shí)現(xiàn)語(yǔ)句延緩一段時(shí)間或延遲到某特定的時(shí)間執(zhí)行。它的語(yǔ)法格式如下。,WAITFOR DELAY time | TIME t
7、ime ,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,函數(shù),在,Transact-SQL,編程語(yǔ)言中提供豐富的函數(shù)。函數(shù)可分系統(tǒng)定義函數(shù)和用戶定義函數(shù)。本節(jié)介紹的是系統(tǒng)定義函數(shù)中最常用的數(shù)學(xué)函數(shù)、字符串函數(shù)、日期時(shí)間函數(shù)、聚合函數(shù)、系統(tǒng)函數(shù)、系統(tǒng)統(tǒng)計(jì)函數(shù)的最常用的部分。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,聚合函數(shù),常用的聚合函數(shù),函數(shù)名,功,能,AVG,返回一組值的平均值。,COUNT,返回一組值中項(xiàng)目的數(shù)量。(返回值為,int,類型)。,COUNT_BIG,返回一組值中項(xiàng)目的數(shù)量。返回值為,bigint,類型)。,MAX,返回表達(dá)式或者項(xiàng)目中
8、的最大值。,MIN,返回表達(dá)式或者項(xiàng)目中的最小值。,SUM,返回表達(dá)式中所有項(xiàng)的和,或者只返回,DISTINCT,值。,SUM,只能用于數(shù)字列。,STDEV,返回表達(dá)式中所有值的統(tǒng)計(jì)標(biāo)準(zhǔn)偏差。,STDEVP,返回表達(dá)式中所有值的統(tǒng)計(jì)標(biāo)準(zhǔn)偏差。,VAR,返回表達(dá)式中所有值的統(tǒng)計(jì)標(biāo)準(zhǔn)方差。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,字符串函數(shù),函數(shù),功能,ASCII(,字符表達(dá)式,),返字最左側(cè)的字符的,ASCII,碼值,CHAR,(整型表達(dá)式),將,int,ASCII,代碼轉(zhuǎn)換為字符,LEFT(,字符表達(dá)式,整數(shù),),返回從左邊開始指定個(gè)數(shù)的字符串,RIGHT(,字符表達(dá)式
9、,整數(shù),),截取從右邊開始指定個(gè)數(shù)字符串,SUBSTRING(,字符表達(dá)式,起始點(diǎn),n),截取從起始點(diǎn)開始,n,個(gè),CHARINDEX(,字符表達(dá)式,1,字符表達(dá)式,2,開始位置,),求子串位置,LTRIM(,字符表達(dá)式,),剪去左空格,RTRIM(,字符表達(dá)式,),剪去右空格,REPLICATE(,字符表達(dá)式,n),重復(fù)字串,REV,ERSE,(,字符表達(dá)式,),倒置字串,STR,(,數(shù)字表達(dá)式,),數(shù)值轉(zhuǎn)字串,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,日期和時(shí)間函數(shù),函數(shù),功 能,DATEADD(datepart,數(shù)值,日期,),返回增加一個(gè)時(shí)間間隔后的日期結(jié)果,DA
10、TEDIFF(datepart,日期,1,日期,2),返回兩個(gè)日期之間的時(shí)間間隔,格式為,datepart,參數(shù)指定的格式,DATENAME(datepart,日期,),返回日期的文本表示,格式為,datepart,指定格式,DATEPART(datepart,日期,),返回某日期的,datepart,代表的整數(shù)值,GETDATE,(),返回當(dāng)前系統(tǒng)日期和時(shí)間,DAY,(日期),返回某日期的日,datepart,所代表的整數(shù)值,MONTH,(日期),返回某日期的月,datepart,所代表的整數(shù)值,YEAR,(日期),返回某日期的年,datepart,所代表的整數(shù)值,SQL Server 20
11、05,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,元數(shù)據(jù)函數(shù),元數(shù)據(jù)函數(shù)返回有關(guān)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的信息,所以元數(shù)據(jù)函數(shù)都具有不確定性。,函數(shù),功 能,COL_LENGTH (,表名,列名,),返回列的定義長(zhǎng)度(以字節(jié)為單位)。,COL_NAME(,表標(biāo)識(shí)號(hào),列標(biāo)識(shí)號(hào),),根據(jù)指定的對(duì)應(yīng)表標(biāo)識(shí)號(hào)和列標(biāo)識(shí)號(hào)返回列的名稱。,DB_ID (,數(shù)據(jù)庫(kù)名稱,),返回?cái)?shù)據(jù)庫(kù)標(biāo)識(shí),(ID),號(hào)。,DB_NAME (,數(shù)據(jù)庫(kù)的標(biāo)識(shí)號(hào),),返回?cái)?shù)據(jù)庫(kù)名稱。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,配置函數(shù),配置函數(shù)實(shí)現(xiàn)返回當(dāng)前配置選項(xiàng)設(shè)置的信息的功能。,【,例,6】,顯示當(dāng)前安裝的,SQL Serv
12、er,版本信息,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,系統(tǒng)函數(shù),使用系統(tǒng)函數(shù)可以對(duì),SQL Server 2005,中的值、對(duì)象和設(shè)置進(jìn)行操作并返回有關(guān)信息。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,銷售管理數(shù)據(jù)庫(kù)中編程應(yīng)用,【,例,】,查詢的主機(jī)名稱、主機(jī)標(biāo)示、,CompanySales,數(shù)據(jù)庫(kù)的標(biāo)識(shí)號(hào)、員工表的標(biāo)識(shí)號(hào)和當(dāng)前用戶名稱等信息,并生成報(bào)表。,【,例,】,員工“姜玲娜”與“林川中學(xué)”簽訂了,200,臺(tái)彩色顯示器訂單供。編程實(shí)現(xiàn)將訂單涉及到的相關(guān)信息寫入到數(shù)據(jù)庫(kù)中。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,銷售管理數(shù)據(jù)庫(kù)中編程應(yīng)用(續(xù)),【,練習(xí),】,查詢各位員工接收銷售訂單明細(xì)表以及訂單的總金額,并根據(jù)中訂單中商品總金額,生成員工獎(jiǎng)勵(lì)的報(bào)表。當(dāng)金額訂單中商品總超過(guò)十萬(wàn)元,獎(jiǎng)金,10000,;金額,1000099999,元,獎(jiǎng)金為訂單中商品總金額的,10%,,金額,10000,元,1000,元的獎(jiǎng)金為,880,元,,1000,元以下的沒有獎(jiǎng)金。,SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,課后任務(wù),獨(dú)自完成課后實(shí)訓(xùn),SQL Server 2005,數(shù)據(jù)庫(kù)應(yīng)用技術(shù) 清華大學(xué)出版社,