![工程數(shù)據(jù)管理_第1頁(yè)](http://file4.renrendoc.com/view11/M03/22/0D/wKhkGWWNfReAYAfHAACVSTo6_Ms244.jpg)
![工程數(shù)據(jù)管理_第2頁(yè)](http://file4.renrendoc.com/view11/M03/22/0D/wKhkGWWNfReAYAfHAACVSTo6_Ms2442.jpg)
![工程數(shù)據(jù)管理_第3頁(yè)](http://file4.renrendoc.com/view11/M03/22/0D/wKhkGWWNfReAYAfHAACVSTo6_Ms2443.jpg)
![工程數(shù)據(jù)管理_第4頁(yè)](http://file4.renrendoc.com/view11/M03/22/0D/wKhkGWWNfReAYAfHAACVSTo6_Ms2444.jpg)
![工程數(shù)據(jù)管理_第5頁(yè)](http://file4.renrendoc.com/view11/M03/22/0D/wKhkGWWNfReAYAfHAACVSTo6_Ms2445.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院西安工程大學(xué)機(jī)電工程學(xué)院工程數(shù)據(jù)管理工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)函數(shù)在程序的運(yùn)用設(shè)計(jì)中是必不可少的,在SQL言語(yǔ)中提供了大量功能強(qiáng)大的內(nèi)置函數(shù),這些函數(shù)的運(yùn)用大大的提高了SQL語(yǔ)句支配信息的才干,使得SQL語(yǔ)句的運(yùn)用有了更大的靈敏性,以前我們學(xué)過(guò)的函數(shù)有,聚合函數(shù),“print〞函數(shù),同時(shí)也用過(guò)“raiserror〞函數(shù)等等,另外還有很多函數(shù),如,日期函數(shù)、刪除空格函數(shù)、獲取子串函數(shù)等,不能全部講完,如今下來(lái)我們看一下常用函數(shù)的運(yùn)用。聚合函數(shù)我們以前碰到過(guò),像sum()、avg()、min()等,就不做詳細(xì)引見(jiàn)了??匆韵潞瘮?shù):1、day(date),month(date),year(date),如selectyear('78-9-28'),另外兩個(gè)格式一樣。2、getdate()如selectgetdate()得到當(dāng)時(shí)的詳細(xì)日期3、Str(number)將一數(shù)值型的數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)。Str(459)前往“459〞。Str(459.001)前往"459.001“4、刪除空格函數(shù)LTRIM(expression),刪除字符串左側(cè)的空格。如selectLTRIM('他好')RTRIM(expression),刪除字符串右側(cè)的空格。5、獲取子串函數(shù)工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)1〕left函數(shù):前往從字符串最左邊起到第Num個(gè)字符的部分子串。詳細(xì)如下:Left(expression,Num)如:usemy_db1GoSelectleft((selectdzfromstu_infowherexh=960811),4)Go2〕right函數(shù):前往從字符串最右邊起到第Num個(gè)字符的部分子串。詳細(xì)如下:right(expression,Num)如:usemy_db1GoSelectright((selectdzfromstu_infowherexh=960811),4)Go3〕substring函數(shù):前往的子串是從字符左邊第start個(gè)字符起Num個(gè)字符的部分。Substring(expression,start,Num)如:selectSubstring('我是中華人民共和國(guó)公民',3,4)下來(lái)再看一下數(shù)據(jù)函數(shù),主要有以下幾種:工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)Sin()正弦函數(shù),Cos()余弦函數(shù),前往以弧度表示角的對(duì)應(yīng)值。Tan()正切函數(shù),Cot()余切函數(shù),Asin()反正弦函數(shù),Acos()反余弦函數(shù),前往弧度表示的角。Atan()反余切函數(shù),Exp()表達(dá)式的指數(shù)值,Log()對(duì)數(shù)函數(shù)Log10()以10為底的對(duì)數(shù)Sqrt()表達(dá)式的平方根Abs()表達(dá)式的絕對(duì)值Pi()π值有時(shí)在函數(shù)里要用到運(yùn)算符,使得表達(dá)式更加的方便靈敏。所以再看一下有哪些運(yùn)算符工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)運(yùn)算符1、算術(shù)運(yùn)算符SQL支持的算術(shù)運(yùn)算符有:+:加或正號(hào)+在有時(shí)也叫做銜接符,在字符串里也經(jīng)常用到。-:減或負(fù)號(hào)*:乘法/:除法%:取模,前往的是余數(shù)2、賦值運(yùn)算符:即等號(hào)〔=〕3、位運(yùn)算符可以在恣意兩個(gè)整型數(shù)據(jù)或二進(jìn)制數(shù)據(jù)之間執(zhí)行位操作。主要有以下幾個(gè)&,也就是按位and︱,按位or^,按位互斥,表示按位異或~,按位not,表示按位取反4、比較運(yùn)算符=,>,<,>=,<=,<>,!=,!>,!<,!=工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)為了更加順應(yīng)實(shí)踐的運(yùn)用,有時(shí)系統(tǒng)自帶的函數(shù)無(wú)法滿足客戶的需求,這時(shí)就要我們本人創(chuàng)建一個(gè)函數(shù),即要求用戶自定義一個(gè)函數(shù),如,我們要求出1+2+3+……+100的值,此時(shí)如何讓系統(tǒng)計(jì)算出這個(gè)值,就要我們自定義一個(gè)函數(shù)。在SQL中,為了加快開發(fā)速度,可以將一個(gè)或多個(gè)SQL語(yǔ)句組成的子程序定義成函數(shù),而不是限制用戶只能運(yùn)用自帶的函數(shù),它允許用戶自定義函數(shù),以便補(bǔ)充和擴(kuò)展系統(tǒng)不支持的一些函數(shù)。用戶定義函數(shù)采用0個(gè)或更多輸入?yún)?shù)并前往標(biāo)量值或表,函數(shù)最多可以有1024個(gè)輸入?yún)?shù),當(dāng)函數(shù)的參數(shù)有默許值時(shí),調(diào)用該函數(shù)必需指定默許的default關(guān)鍵字才干獲取默許值,用戶定義的函數(shù)不支持輸出參數(shù)。不像存儲(chǔ)過(guò)程,輸入與輸出參數(shù)都支持。與任何函數(shù)一樣,用戶定義的函數(shù)是可前往值的例程。根據(jù)前往值的類型,可分為三類:A、前往可更新數(shù)據(jù)表的函數(shù),假設(shè)用戶定義的函數(shù)包含單個(gè)select語(yǔ)句且該語(yǔ)句可更新,那么該函數(shù)前往的表格式結(jié)果也可以更新?!矁?nèi)嵌表值函數(shù)〕B、前往不可更新的表的函數(shù):假設(shè)用戶定義函數(shù)不止一個(gè)select語(yǔ)句,或包含一個(gè)不可更新的select語(yǔ)句,那么該函數(shù)前往的表格式結(jié)果也不可更新?!捕嗾Z(yǔ)句表值函數(shù)〕C、前往標(biāo)量值的函數(shù):標(biāo)量函數(shù)前往在return子句中定義的類型的單個(gè)數(shù)據(jù)值??梢赃\(yùn)用一切標(biāo)量數(shù)據(jù)類型。〔標(biāo)量函數(shù)〕工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)用戶自定義函數(shù)的創(chuàng)建一個(gè)是用企業(yè)管理器;另一個(gè)是用查詢分析器。這個(gè)和存儲(chǔ)過(guò)程的創(chuàng)建一樣,雖然是在企業(yè)管理器里創(chuàng)建,但也要編SQL語(yǔ)句,所以像這種類型,普通我們都有查詢分析器處置。下來(lái)看一下詳細(xì)的操作:一:企業(yè)管理器二:查詢分析器,詳細(xì)語(yǔ)法:Createfunctionfunc_name------自定義的函數(shù)名(@parameter_nameparameter_type[=default])------自定義函數(shù)的參數(shù),參數(shù)的數(shù)據(jù)類型,有默許值時(shí)寫出=默許值Returnsparameter_type------------前往參數(shù)值的類型AsBeginSQL_expression--------------詳細(xì)函數(shù)內(nèi)容Returnscalar_expression--------------前往值的表達(dá)式end工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)創(chuàng)建方法知道了,如今根據(jù)上面學(xué)過(guò)的有三種自定義函數(shù)〔標(biāo)量函數(shù)、內(nèi)嵌表值函數(shù)、多語(yǔ)句表值函數(shù)〕,分別引見(jiàn)如何創(chuàng)建函數(shù):如:要給學(xué)生成果表所在庫(kù)創(chuàng)建一個(gè)函數(shù),函數(shù)名為my_func1,來(lái)實(shí)現(xiàn)數(shù)學(xué)成果在80分以上的,前往字符串‘良’,否那么‘差’Usemy_db1GoCreatefunctionmy_func1(@mathcjnumeric(4,1))returnsnvarchar(5)---------------前往值只需單個(gè)數(shù)據(jù)值,所以這個(gè)函數(shù)是標(biāo)量函數(shù)。BeginDeclare@returnstrnvarchar(5)If@mathcj>80Set@returnstr='良'ElseSet@returnstr='差'Return@returnstrEnd以上自定義的函數(shù)創(chuàng)建完了,下來(lái)看一下函數(shù)的運(yùn)用工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)Usemy_db1Goselectxh,mathcj,dbo.my_func1(mathcj)as'良或差'fromstu_cj下面這個(gè)例子就是把查詢結(jié)果插入到一個(gè)新表,但我們這個(gè)是用函數(shù)的查詢結(jié)果,以前的是直接把列名插入。如今相當(dāng)于再?gòu)?fù)習(xí)一下。Usemy_db1Goselectxh,mathcj,dbo.my_func1(mathcj)as'良或差'intonew_Tfromstu_cjwhereyear=1996-------------只把學(xué)年為1996年的信息查出插入新表Usemy_db1GoInsertnew_T1(xh,mathcj,良或差)selectxh,mathcj,dbo.my_func1(mathcj)as'良或差'fromstu_cjWhereyear=1998上面這個(gè)例子就是把查詢結(jié)果插入到另一個(gè)表,這種方法叫做“插入查詢結(jié)果集〞由于是自定義函數(shù),所以要識(shí)別用戶,就要把DBO加上這個(gè)是查詢結(jié)果工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)再看一個(gè)例子:declare@sint,@iintset@s=0set@i=1while@i<101beginset@s=@s+@iset@i=@i+1endprint'和是'+str(@s)這個(gè)函數(shù)可以看出來(lái)是做什么的嗎?這是用while語(yǔ)句求1+2+3+……+100之和。工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)再看一個(gè)例子,如今要?jiǎng)?chuàng)建如下一個(gè)函數(shù),函數(shù)名為my_func3,其中變量@X與@Y為浮點(diǎn)型數(shù)據(jù),且函數(shù)前往值A(chǔ)也為浮點(diǎn)型。A=(X-Y)/2,當(dāng)X>Y
A=(X+Y)/2,當(dāng)X<YA=1,當(dāng)X=YCreatefunctionmy_func3(@Xfloat,@Yfloat)Returnsfloat--------這也是一個(gè)標(biāo)量函數(shù)AsBeginDeclare@AfloatIf@X>@Yset@A=(@X-@Y)/2If@X<@Yset@A=(@X+@Y)/2If@X=@Yset@A=1Return@Aend工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)再看一個(gè)例子:Usemy_db1GoCreatefunctionmy_func6(@sushenvarchar(10))ReturnstableAsReturn(selectxh,xm,dzfromstu_infowheresushe=@sushe)如今調(diào)用一下這個(gè)函數(shù),找出sushe為機(jī)電樓3號(hào)樓的學(xué)生信息select*fromdbo.my_func6('機(jī)電樓3號(hào)樓')上面的例子可以看出Return子句中只需一條單獨(dú)的select語(yǔ)句,這個(gè)語(yǔ)句的結(jié)果構(gòu)成了內(nèi)嵌表值函數(shù)前往的表,所以這個(gè)例子就是內(nèi)嵌表值函數(shù)的例子工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)再看一個(gè)例子:Usemy_db1GoCreatefunctionmy_func7(@sushenvarchar(10))Returns@T_ttable(xhint,xmnvarchar(5),dznvarchar(20))Asbegininsert@T_tselectxh,xm,dzfromstu_infowheresushe=@susheReturnEnd函數(shù)的調(diào)用:select*fromdbo.my_func7('紫荊公寓8號(hào)樓')以上的例子就是多語(yǔ)句表值函數(shù)的例子,它和內(nèi)嵌表值函數(shù)類似,但不同的是,它由begin和end限定函數(shù)體,并且在returns子句里必需定義表的稱號(hào)和表的格式。工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)自定義函數(shù)創(chuàng)建完后,我們也可以進(jìn)展修正和刪除,詳細(xì)的語(yǔ)法:修正語(yǔ)法:alterfunctionfunc_nameSQL_state-----------這和創(chuàng)建函數(shù)的參數(shù)的意義一樣。刪除珸法:dropfunctionfunc_name工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)最后,我們?cè)倏匆幌略赟QL中SQL語(yǔ)句的控制。即就是我們平常如何編程SQL言語(yǔ)。下來(lái)再看以下詳細(xì)的SQL言語(yǔ):1〕數(shù)據(jù)庫(kù)定義:createdatabasedatabase_name2〕表定義:要求:1、NOTNULL字段〔學(xué)號(hào),姓名,性別〕2、檢查約束:性別〔‘男’或‘女’〕3、包含外鍵關(guān)系〔留意建表順序〕工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)usemy_db1goCreatetableT_xsxx(xhintnotnullprimarykey,Xmchar(10)notnull,Xbchar(10)notnullconstraintxb_chkcheck(xb='男'orxb='女'),Csrqdatetimenull,Sfzhchar(8)null)usemy_db1GoCreatetableT_xscj(xmchar(10)notnullprimarykey,Xhintnotnullforeignkey(xh)referencesT_xsxx,Mathcjnumeric(4,1)null,Huaxuecjnumeric(4,1)null,Engcjnumeric(4,1)null,Phycjnumeric(4,1)null,Yearint)工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)createtabletable1_name〔列名1類型constraintconstr_name[null或notnull][primarykey]列名2類型[null或notnull]列名3類型[null或notnull]foreignkey(列名n,列名..)referencestable2_name….〕普通創(chuàng)建表都是按物理表來(lái)創(chuàng)建。工程數(shù)據(jù)管理西安工程大學(xué)機(jī)電工程學(xué)院第10章用戶自定義函數(shù)的運(yùn)用與程序設(shè)計(jì)3〕修正表:altertabletable_name----SQL里的參數(shù)和創(chuàng)建表一樣4〕刪除表:droptabletable_name5〕插入數(shù)據(jù):insert[into]table_name(列名1,列名2…)values(值1)------括號(hào)里值的順序和上面的一樣insert[into]table_name(列名1,列名2…)values(值2)------括號(hào)里值的順序和上面的一樣6〕修正數(shù)據(jù):updatetable_namesetcol_name=new_expression……where…7〕刪除數(shù)據(jù):deletefromtable_namewhere……8〕查詢語(yǔ)句:select…from….[where]…以上是簡(jiǎn)單的且是必需求知道的SQL語(yǔ)句,當(dāng)然在實(shí)踐當(dāng)中,還有一些復(fù)雜的SQL語(yǔ)句,還要借助于流程控制語(yǔ)句。1、begin…..end像前面我們?cè)趧?chuàng)建函數(shù)時(shí)用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京出境合同范例
- 辦理抵押賒銷合同范例
- 2025年度新型金融產(chǎn)品合同擔(dān)保期限規(guī)定及風(fēng)險(xiǎn)管理細(xì)則
- 2025年度區(qū)塊鏈技術(shù)應(yīng)用合同-@-1
- 年產(chǎn)10萬(wàn)噸調(diào)味料建設(shè)項(xiàng)目可行性研究報(bào)告建議書
- 醫(yī)療物資購(gòu)銷合同范例
- 農(nóng)民承包煤礦合同范本
- 儀器維保服務(wù)合同范例
- 代理全轉(zhuǎn)讓合同范例
- 公租房贈(zèng)與合同范例
- 《線性代數(shù)》課后習(xí)題答案
- 前交叉韌帶損傷PPT
- 數(shù)學(xué)四年級(jí)下冊(cè)口算題(每頁(yè)60道直接打印)
- 學(xué)校領(lǐng)導(dǎo)干部上講臺(tái)開展思想政治教育的實(shí)施方案
- 三年級(jí)道德與法治下冊(cè)第一單元我和我的同伴教材解讀新人教版
- 全國(guó)交管12123駕駛證學(xué)法減分試題附答案
- GB/T 6404.2-2005齒輪裝置的驗(yàn)收規(guī)范第2部分:驗(yàn)收試驗(yàn)中齒輪裝置機(jī)械振動(dòng)的測(cè)定
- GB/T 11376-2020金屬及其他無(wú)機(jī)覆蓋層金屬的磷化膜
- 讖緯神學(xué)與白虎通義
- 分析化學(xué)(第6版)全套課件完整版電子教案最新板
- 海上日出配套說(shuō)課PPT
評(píng)論
0/150
提交評(píng)論