存儲過程-觸發(fā)器-函數(shù)_第1頁
存儲過程-觸發(fā)器-函數(shù)_第2頁
存儲過程-觸發(fā)器-函數(shù)_第3頁
存儲過程-觸發(fā)器-函數(shù)_第4頁
存儲過程-觸發(fā)器-函數(shù)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1頁第第8章章 存儲過程、觸發(fā)器存儲過程、觸發(fā)器和函數(shù)和函數(shù)本章概述 本章要點本章內(nèi)容第2頁本章概述本章概述l如何提高如何提高Transact-SQL語句的執(zhí)行效率呢?如何加強數(shù)據(jù)語句的執(zhí)行效率呢?如何加強數(shù)據(jù)庫中數(shù)據(jù)完整性的機制呢?這些問題的解決都依賴于數(shù)據(jù)庫庫中數(shù)據(jù)完整性的機制呢?這些問題的解決都依賴于數(shù)據(jù)庫的編程對象。典型的數(shù)據(jù)庫編程對象包括視圖、存儲過程、的編程對象。典型的數(shù)據(jù)庫編程對象包括視圖、存儲過程、觸發(fā)器、函數(shù)等。觸發(fā)器、函數(shù)等。l存儲過程存儲過程是一個可重用的代碼模塊,可以高效率地完成指定是一個可重用的代碼模塊,可以高效率地完成指定的操作。的操作。l觸發(fā)器觸發(fā)器是一種特殊類

2、型的存儲過程,可以實現(xiàn)自動化的操作。是一種特殊類型的存儲過程,可以實現(xiàn)自動化的操作。l用戶定義函數(shù)是由用戶根據(jù)應(yīng)用程序的需要而定義的可以完用戶定義函數(shù)是由用戶根據(jù)應(yīng)用程序的需要而定義的可以完成特定操作的函數(shù)。成特定操作的函數(shù)。l本章將全面介紹存儲過程、觸發(fā)器、用戶定義函數(shù)等特點和本章將全面介紹存儲過程、觸發(fā)器、用戶定義函數(shù)等特點和使用方式。使用方式。第3頁本章要點本章要點l存儲過程的特點、類型和作用存儲過程的特點、類型和作用l使用使用CREATE PROCEDURE語句創(chuàng)建存儲過程語句創(chuàng)建存儲過程l存儲過程的執(zhí)行方式存儲過程的執(zhí)行方式lDML觸發(fā)器的特點和創(chuàng)建方式觸發(fā)器的特點和創(chuàng)建方式lDML

3、觸發(fā)器的工作原理觸發(fā)器的工作原理l使用使用CREATE TRIGGER語句創(chuàng)建語句創(chuàng)建DML觸發(fā)器觸發(fā)器lDDL觸發(fā)器的特點和創(chuàng)建方式觸發(fā)器的特點和創(chuàng)建方式l用戶定義函數(shù)的類型和特點用戶定義函數(shù)的類型和特點l使用使用CREATE FUNCTION語句創(chuàng)建用戶定義函數(shù)語句創(chuàng)建用戶定義函數(shù)第4頁本章內(nèi)容本章內(nèi)容8.1 存儲過程存儲過程8.2 觸發(fā)器觸發(fā)器8.3 用戶定義函數(shù)用戶定義函數(shù)8.4 本章小結(jié)本章小結(jié)8.1 存儲過程存儲過程l存儲過程可以提高應(yīng)用程序的設(shè)計效率和增強系存儲過程可以提高應(yīng)用程序的設(shè)計效率和增強系統(tǒng)的安全性。本節(jié)將全面介紹存儲過程的特點、統(tǒng)的安全性。本節(jié)將全面介紹存儲過程的特點

4、、類型、創(chuàng)建、執(zhí)行等內(nèi)容。類型、創(chuàng)建、執(zhí)行等內(nèi)容。第5頁存儲過程的特點和類型存儲過程的特點和類型l存儲過程是一個可重用的代碼模塊,可以高效率存儲過程是一個可重用的代碼模塊,可以高效率地完成指定的操作。地完成指定的操作。l在在Microsoft SQL Server 2008系統(tǒng)中,可以使系統(tǒng)中,可以使用用Transact-SQL語言編寫存儲過程,也可以使用語言編寫存儲過程,也可以使用CLR方式編寫存儲過程。使用方式編寫存儲過程。使用CLR編寫存儲過程編寫存儲過程是是Microsoft SQL Server 2008系統(tǒng)與系統(tǒng)與.NET框架框架緊密集成的一種表現(xiàn)形式。緊密集成的一種表現(xiàn)形式。第6

5、頁類型類型 在在Microsoft SQL Server 2008系統(tǒng)中,提供了系統(tǒng)中,提供了3種基本的存儲過程類型種基本的存儲過程類型l用戶定義的存儲過程用戶定義的存儲過程l擴展存儲過程擴展存儲過程l系統(tǒng)存儲過程。系統(tǒng)存儲過程。第7頁使用使用CREATE PROCEDURE語句語句l在在Microsoft SQL Server 2008系統(tǒng)中,可以使用系統(tǒng)中,可以使用CREATE PROCEDURE語句創(chuàng)建存儲過程。需要強調(diào)的語句創(chuàng)建存儲過程。需要強調(diào)的是,必須具有是,必須具有CREATE PROCEDURE權(quán)限才能創(chuàng)建存儲權(quán)限才能創(chuàng)建存儲過程,存儲過程是架構(gòu)作用域中的對象,只能在本地數(shù)據(jù)過

6、程,存儲過程是架構(gòu)作用域中的對象,只能在本地數(shù)據(jù)庫中創(chuàng)建存儲過程。庫中創(chuàng)建存儲過程。l在創(chuàng)建存儲過程時,應(yīng)該指定所有的在創(chuàng)建存儲過程時,應(yīng)該指定所有的輸入?yún)?shù)輸入?yún)?shù)、執(zhí)行數(shù)據(jù)、執(zhí)行數(shù)據(jù)庫操作的庫操作的編程語句編程語句、返回返回至調(diào)用過程或批處理表明成功或至調(diào)用過程或批處理表明成功或失敗的失敗的狀態(tài)值狀態(tài)值、捕捉和處理潛在錯誤的錯誤處理語句。、捕捉和處理潛在錯誤的錯誤處理語句。第8頁創(chuàng)建存儲過程創(chuàng)建存儲過程l創(chuàng)建存儲過程,需確定存儲過程的創(chuàng)建存儲過程,需確定存儲過程的三個組成部分三個組成部分: :1 1所有的所有的輸入?yún)?shù)輸入?yún)?shù)以及傳給調(diào)用者的以及傳給調(diào)用者的輸出參數(shù)輸出參數(shù)2 2被執(zhí)行的針

7、對數(shù)據(jù)庫的操作語句包括調(diào)用其它被執(zhí)行的針對數(shù)據(jù)庫的操作語句包括調(diào)用其它存儲過程的語句存儲過程的語句3 3返回給調(diào)用者的狀態(tài)值以指明調(diào)用是成功還是返回給調(diào)用者的狀態(tài)值以指明調(diào)用是成功還是失敗失敗 在創(chuàng)建存儲過程之前應(yīng)該考慮到以下幾個方面:在創(chuàng)建存儲過程之前應(yīng)該考慮到以下幾個方面:1 1在一個批處理中在一個批處理中Create Procedure Create Procedure 語句不能與其它語句不能與其它SQL SQL 語句合并在一起。語句合并在一起。2 2數(shù)據(jù)庫所有者具有默認(rèn)的創(chuàng)建存儲過程的權(quán)限它可把數(shù)據(jù)庫所有者具有默認(rèn)的創(chuàng)建存儲過程的權(quán)限它可把該權(quán)限傳遞給其它的用戶。該權(quán)限傳遞給其它的用戶

8、。3 3存儲過程作為數(shù)據(jù)庫對象其命名必須符合命名規(guī)則。存儲過程作為數(shù)據(jù)庫對象其命名必須符合命名規(guī)則。4 4只能在當(dāng)前數(shù)據(jù)庫中創(chuàng)建屬于當(dāng)前數(shù)據(jù)庫的存儲過程只能在當(dāng)前數(shù)據(jù)庫中創(chuàng)建屬于當(dāng)前數(shù)據(jù)庫的存儲過程 創(chuàng)建存儲過程創(chuàng)建存儲過程創(chuàng)建存儲過程的語法規(guī)則創(chuàng)建存儲過程的語法規(guī)則CREATE PROCEDURE 存儲過程名存儲過程名 參數(shù)名參數(shù)名 類型類型=default output,n with recompile | encryption |recompile, encryption AS sql_statementRecompile:指定每次執(zhí)行時都要重新編譯指定每次執(zhí)行時都要重新編譯Encryp

9、tion:指定對存儲過程的正文進行加密,防止別的指定對存儲過程的正文進行加密,防止別的用戶看到編寫的存儲過程腳本。用戶看到編寫的存儲過程腳本。定義定義無參數(shù)無參數(shù)的存儲過程的存儲過程例例1 1:在在studystudy數(shù)據(jù)庫中,創(chuàng)建一個名稱為數(shù)據(jù)庫中,創(chuàng)建一個名稱為myproc1myproc1的存儲過程,該存儲過程的功能是從數(shù)據(jù)表的存儲過程,該存儲過程的功能是從數(shù)據(jù)表studnetstudnet中查詢所有男同學(xué)的信息中查詢所有男同學(xué)的信息。GOCREATE PROCEDURE myproc1 AS SELECT * FROM s WHERE sex = 男男GO l定義定義具有具有參數(shù)參數(shù)的存

10、儲過程。的存儲過程。例例2 2:創(chuàng)建一個名稱為:創(chuàng)建一個名稱為InsertRecordInsertRecord的存儲過程,功能是的存儲過程,功能是向數(shù)據(jù)表向數(shù)據(jù)表studentstudent中插入一條記錄,新值由參數(shù)提供。中插入一條記錄,新值由參數(shù)提供。USE studyUSE studyGOGOCREATE PROCEDURE InsertRecord CREATE PROCEDURE InsertRecord sno char(6),sno char(6),sn char(20),sn char(20),age numeric(5),age numeric(5),sex char(2),s

11、ex char(2),dept char(10)dept char(10)ASASINSERT INTO s VALUES(sno,sn,sex,age,dept)INSERT INTO s VALUES(sno,sn,sex,age,dept)GOGO l定義定義具有具有參數(shù)默認(rèn)值參數(shù)默認(rèn)值的存儲過程的存儲過程。例例3 3:創(chuàng)建一個名稱為:創(chuàng)建一個名稱為InsertRecordDefaInsertRecordDefa的存儲過程,其功能是的存儲過程,其功能是向向studentstudent表中插入一條記錄,新值由參數(shù)提供,若未提供系表中插入一條記錄,新值由參數(shù)提供,若未提供系別別deptdep

12、t值時,由參數(shù)的默認(rèn)值代替。值時,由參數(shù)的默認(rèn)值代替。USE studyGOCREATE PROCEDURE InsertRecordDefa sno char(6),sn char(20),age numeric(5),sex char(2),dept char(10)=無無ASINSERT INTO student VALUES(sno,sn, sex , age, dept)l定義定義能夠能夠返回值返回值的存儲過程。的存儲過程。例例4 4:創(chuàng)建一個名稱為:創(chuàng)建一個名稱為Query_StudyQuery_Study的存儲過程,的存儲過程,其功能是從其功能是從studentstudent表中

13、根據(jù)學(xué)號查詢某一同表中根據(jù)學(xué)號查詢某一同學(xué)的姓名和系別。學(xué)的姓名和系別。CREATE PROCEDURE Query_Study sno char(6),sn char(20) OUTPUT,dept char(10) OUTPUTASSELECT sn=sn, dept=deptFROM studentWHERE sno=sno其語法規(guī)則為:其語法規(guī)則為:DROP PROCEDURE procedure ,n procedure ,n如:將存儲過程如:將存儲過程mynewprocmynewproc從數(shù)據(jù)庫中刪除。從數(shù)據(jù)庫中刪除。 drop procedure mynewprocdrop pr

14、ocedure mynewproc刪除存儲過程刪除存儲過程使用使用EXECUTE EXECUTE 命令命令( (可以簡寫為可以簡寫為EXEC)1.1.執(zhí)行存儲過程執(zhí)行存儲過程myproc(myproc(無參調(diào)用無參調(diào)用) ) EXEC myproc2.2.執(zhí)行存儲過程執(zhí)行存儲過程InsertRecord (InsertRecord (帶參調(diào)用帶參調(diào)用) ) EXEC InsertRecord S1, 王大利王大利, 男男, 18 ,計算機系計算機系或者:把值放入變量中,使用變量間接的提供參數(shù)值或者:把值放入變量中,使用變量間接的提供參數(shù)值執(zhí)行存儲過程執(zhí)行存儲過程3.3.執(zhí)行存儲過程執(zhí)行存儲過程

15、InsertRecordDefaInsertRecordDefa ( (含默認(rèn)值調(diào)用含默認(rèn)值調(diào)用) ) EXEC InsertRecordDefa S10,高平高平, 女女, 184.4.執(zhí)行存儲過程執(zhí)行存儲過程Query_Study (Query_Study (含有輸出參數(shù)含有輸出參數(shù)) ) DECLARE sn char(20)DECLARE sn char(20)DECLARE dept char(10)DECLARE dept char(10)EXEC Query_Study S10,sn OUTPUT,dept OUTPUTQuery_Study S10,sn OUTPUT,dept

16、 OUTPUTPrint sn Print sn -或者或者select select sn sn print dept print dept 執(zhí)行存儲過程執(zhí)行存儲過程CREATE PROCEDURE disRecord ASdeclare sno char(6),sn char(20),sex char(2),age smallintdeclare sp cursor for select s_no,s_name,s_sex ,year(getdate()- year(s_birthday) from student where s_sex=女女open spfetch sp into sn

17、o ,sn ,sex ,agewhile fetch_status=0 begin print sno+sn +sex +convert(char,age) fetch sp into sno ,sn ,sex endclose spdeallocate sp存儲過程的執(zhí)行過程存儲過程的執(zhí)行過程l存儲過程創(chuàng)建之后,在第一次執(zhí)行時需要存儲過程創(chuàng)建之后,在第一次執(zhí)行時需要經(jīng)過經(jīng)過語法分析語法分析階段、階段、解析解析階段、階段、編譯編譯階段階段和和執(zhí)行執(zhí)行階段。階段。第20頁查看存儲過程的信息查看存儲過程的信息l在在Microsoft SQL Server 2008系統(tǒng)中,可系統(tǒng)中,可以使用系統(tǒng)存儲

18、過程和目錄視圖查看有關(guān)以使用系統(tǒng)存儲過程和目錄視圖查看有關(guān)存儲過程的信息。存儲過程的信息。第21頁8.2 觸發(fā)器觸發(fā)器lMicrosoft SQL Server 2008系統(tǒng)提供了兩系統(tǒng)提供了兩種種強制強制業(yè)務(wù)邏輯業(yè)務(wù)邏輯和和數(shù)據(jù)完整性數(shù)據(jù)完整性的機制,即的機制,即約束技術(shù)和觸發(fā)器技術(shù)。約束技術(shù)和觸發(fā)器技術(shù)。第22頁觸發(fā)器的概念和類型觸發(fā)器的概念和類型l觸發(fā)器是一種特殊類型的存儲過程,它包括了大觸發(fā)器是一種特殊類型的存儲過程,它包括了大量的量的Transact-SQL語句。但是觸發(fā)器又與存儲過語句。但是觸發(fā)器又與存儲過程不同,存儲過程可以由程不同,存儲過程可以由用戶直接調(diào)用執(zhí)行用戶直接調(diào)用執(zhí)行

19、,而,而觸發(fā)器不能被直接調(diào)用執(zhí)行,它只能觸發(fā)器不能被直接調(diào)用執(zhí)行,它只能自動執(zhí)行自動執(zhí)行。l 按照觸發(fā)事件的不同,可以把按照觸發(fā)事件的不同,可以把Microsoft SQL Server 2008系統(tǒng)提供的觸發(fā)器分成兩種類型,系統(tǒng)提供的觸發(fā)器分成兩種類型,即即DML觸發(fā)器和觸發(fā)器和DDL觸發(fā)器。觸發(fā)器。第23頁DML觸發(fā)器觸發(fā)器l當(dāng)數(shù)據(jù)庫中發(fā)生數(shù)據(jù)操縱語言當(dāng)數(shù)據(jù)庫中發(fā)生數(shù)據(jù)操縱語言(DML)事件時將調(diào)用事件時將調(diào)用DML觸觸發(fā)器。發(fā)器。lDML事件包括在指定表或視圖中修改數(shù)據(jù)的事件包括在指定表或視圖中修改數(shù)據(jù)的INSERT、UPDATE、DELETE語句。語句。l在在DML觸發(fā)器中,可以執(zhí)行查

20、詢其他表的操作,也可以包觸發(fā)器中,可以執(zhí)行查詢其他表的操作,也可以包含更加復(fù)雜的含更加復(fù)雜的Transact-SQL語句。語句。l在執(zhí)行觸發(fā)器操作過程中,如果檢測到錯誤發(fā)生,則整個在執(zhí)行觸發(fā)器操作過程中,如果檢測到錯誤發(fā)生,則整個觸發(fā)事件語句和觸發(fā)器操作的事務(wù)自動回滾。觸發(fā)事件語句和觸發(fā)器操作的事務(wù)自動回滾。第24頁DML觸發(fā)器的類型觸發(fā)器的類型l按照觸發(fā)器事件類型的不同,可以把按照觸發(fā)器事件類型的不同,可以把MSSQL Server 2008系統(tǒng)提供的系統(tǒng)提供的DML觸發(fā)器分成觸發(fā)器分成3種類型,種類型,即即 INSERT類型類型 UPDATE類型類型 DELETE類型類型第25頁創(chuàng)建創(chuàng)建D

21、ML觸發(fā)器觸發(fā)器CREATE TRIGGER trigger_name ON table_name | view_name WITH ENCRYPTION FOR | AFTER | INSTEAD OF DELETE , INSERT , UPDATE AS sql_statementlAFTER指定在對數(shù)據(jù)表的相關(guān)操作之后,觸發(fā)器被觸發(fā)。指定在對數(shù)據(jù)表的相關(guān)操作之后,觸發(fā)器被觸發(fā)。若指定若指定FOR關(guān)鍵字,則默認(rèn)是關(guān)鍵字,則默認(rèn)是AFTER設(shè)置。設(shè)置。lINSTEAD OF指定執(zhí)行觸發(fā)器而不是執(zhí)行語句指定執(zhí)行觸發(fā)器而不是執(zhí)行語句第26頁例:創(chuàng)建一個觸發(fā)器,當(dāng)向表例:創(chuàng)建一個觸發(fā)器,當(dāng)向表s

22、tudent中插入一條記錄時,自動中插入一條記錄時,自動顯示表中的記錄。顯示表中的記錄。CREATE TRIGGER Change_DisplayON studnetFOR INSERT,UPDATE,DELETEASSELECT * FROM studentl該觸發(fā)器建立完畢后,當(dāng)執(zhí)行如下操作時將會顯示數(shù)據(jù)表該觸發(fā)器建立完畢后,當(dāng)執(zhí)行如下操作時將會顯示數(shù)據(jù)表s中的全部記錄。中的全部記錄。EXEC InsertRecordDefa sno = S11, sn = 張建峰張建峰, age = 17, sex = 男男 第28頁使用使用sp_helptext系統(tǒng)存儲過程系統(tǒng)存儲過程使用使用sp_h

23、elptext系統(tǒng)存儲過程查看定義的系統(tǒng)存儲過程查看定義的存儲過程信息存儲過程信息exec sp_helptext 存儲過程名存儲過程名DML觸發(fā)器的工作原理觸發(fā)器的工作原理 向表中向表中插入插入數(shù)據(jù)時,數(shù)據(jù)時,INSERT觸發(fā)器觸發(fā)執(zhí)行。觸發(fā)器觸發(fā)執(zhí)行。 當(dāng)當(dāng)INSERT觸發(fā)器觸發(fā)時,新的記錄增加到觸發(fā)器表中和觸發(fā)器觸發(fā)時,新的記錄增加到觸發(fā)器表中和inserted表中。表中。 inserted表是一個邏輯表,保存了所插入記錄的備份,允表是一個邏輯表,保存了所插入記錄的備份,允許用戶參考許用戶參考INSERT語句中數(shù)據(jù)。觸發(fā)器可以檢查語句中數(shù)據(jù)。觸發(fā)器可以檢查inserted表,來確定該觸發(fā)

24、器的操作是否應(yīng)該執(zhí)行和如何執(zhí)行。表,來確定該觸發(fā)器的操作是否應(yīng)該執(zhí)行和如何執(zhí)行。 在在inserted表中的記錄,總是觸發(fā)器表中一行或多行記錄的表中的記錄,總是觸發(fā)器表中一行或多行記錄的冗余。冗余。第29頁DELETE觸發(fā)器觸發(fā)器l當(dāng)觸發(fā)一個當(dāng)觸發(fā)一個DELETE觸發(fā)器時,被刪除的記錄放觸發(fā)器時,被刪除的記錄放在一個特殊的在一個特殊的deleted表中。表中。ldeleted表是一個邏輯表,用來保存已經(jīng)從表中刪表是一個邏輯表,用來保存已經(jīng)從表中刪除的記錄。除的記錄。l該該deleted表允許參考原來的表允許參考原來的DELETE語句刪除的語句刪除的已經(jīng)記錄在日志中的數(shù)據(jù)。已經(jīng)記錄在日志中的數(shù)據(jù)

25、。第30頁UPDATE觸發(fā)器觸發(fā)器l修改一條記錄就等于插入一條新記錄同時刪除一條舊記修改一條記錄就等于插入一條新記錄同時刪除一條舊記錄。錄。lUPDATE語句也可以看成是由刪除一條記錄的語句也可以看成是由刪除一條記錄的DELETE語句和增加一條記錄的語句和增加一條記錄的INSERT語句組成。語句組成。l當(dāng)在某一個有當(dāng)在某一個有UPDATE觸發(fā)器表的上面修改一條記錄時,觸發(fā)器表的上面修改一條記錄時,表中原來的記錄移動到表中原來的記錄移動到deleted表中,修改過的記錄插表中,修改過的記錄插入到了入到了inserted表中。表中。l觸發(fā)器可以檢查觸發(fā)器可以檢查deleted表和表和inserte

26、d表以及被修改的表,表以及被修改的表,以便確定是否修改了多個行和應(yīng)該如何執(zhí)行觸發(fā)器的操以便確定是否修改了多個行和應(yīng)該如何執(zhí)行觸發(fā)器的操作。作。第31頁DDL 觸發(fā)器觸發(fā)器 lDDL觸發(fā)器觸發(fā)事件主要是觸發(fā)器觸發(fā)事件主要是CREATE、ALTER、DROP以及以及GRANT、DENY、REVOKE等語句,等語句,并且觸發(fā)的時間條件只有并且觸發(fā)的時間條件只有AFTER,沒有,沒有INSTEAD OF。CREATE TRIGGERCREATE TRIGGER trigger_name ON ALL SERVER | DATABASE WITH ENCRYPTION FOR | AFTER event

27、_type AS sql_statement定義一個定義一個DDL觸發(fā)器觸發(fā)器 刪除表的操作失敗刪除表的操作失敗 8.3 用戶定義函數(shù)用戶定義函數(shù) l用戶定義函數(shù)可以使用用戶定義函數(shù)可以使用Transact-SQL語言編寫,語言編寫,也可以使用也可以使用.NET編程語言來編寫。編程語言來編寫。l每次使用用戶定義函數(shù)時均無需重新解析和重新每次使用用戶定義函數(shù)時均無需重新解析和重新優(yōu)化,從而大大縮短了執(zhí)行時間。減少網(wǎng)絡(luò)流量,優(yōu)化,從而大大縮短了執(zhí)行時間。減少網(wǎng)絡(luò)流量,基于某種無法用單一標(biāo)量表達式表示的復(fù)雜約束基于某種無法用單一標(biāo)量表達式表示的復(fù)雜約束來過濾數(shù)據(jù)的操作,可以表示為函數(shù)。然后,該來過濾數(shù)據(jù)的操作,可以表示為函數(shù)。然后,該函數(shù)可以在函數(shù)可以在WHERE子句中調(diào)用,以減少發(fā)送至子句中調(diào)用,以減少發(fā)送至客戶端的數(shù)字或行數(shù)。客戶端的數(shù)字或行數(shù)。結(jié)構(gòu)結(jié)構(gòu)l所有的用戶定義函數(shù)都具有相同的由兩部分組成的結(jié)構(gòu):所有的用戶定義函數(shù)都具有相同的由兩部分組成的結(jié)構(gòu):標(biāo)題和正文。標(biāo)題和正文。l標(biāo)題可以定義下列內(nèi)容。標(biāo)題可以定義下列內(nèi)容。 具有可選架構(gòu)具有可選架構(gòu)/所有者名稱的函數(shù)名稱。所有者名稱的函數(shù)名稱。 輸入?yún)?shù)名稱和數(shù)據(jù)類型。輸入?yún)?shù)名稱和數(shù)據(jù)類型。 可以用于輸入?yún)?shù)的選項??梢杂糜谳斎?yún)?shù)的選項。 返回參數(shù)數(shù)據(jù)類型和可選名稱。返回參數(shù)數(shù)據(jù)類型和可選名稱。 可以

溫馨提示

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

最新文檔

評論

0/150

提交評論