freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle數(shù)據(jù)庫應(yīng)用教程課件第7章(編輯修改稿)

2025-02-10 23:11 本頁面
 

【文章內(nèi)容簡介】 樣,只有創(chuàng)建函數(shù)的用戶和管理員才有權(quán)使用函數(shù),其他用戶如果要調(diào)用函數(shù),則需要得到該函數(shù)的EXECUTE權(quán)限。 【 例 】 將 getname函數(shù)的執(zhí)行權(quán)限授予 John用戶。 SQLGRANT EXECUTE ON getname TO John。 第 7章 過程、函數(shù)和程序包 4.刪除函數(shù) 刪除函數(shù)的命令的一般格式如下: DROP FUNCTION [方案名 .]函數(shù)名 。 【 例 】 刪除函數(shù) getname。 SQL DROP FUNCTION getname。 第 7章 過程、函數(shù)和程序包 過程和函數(shù)的比較 表 71 過程和函數(shù)的比較 過 程 函 數(shù) 過程作為 P L /S Q L 語句塊來執(zhí)行 函數(shù)作為表達(dá)式的一部分調(diào)用 在規(guī)則說明中不包含 re tu rn 語句 函數(shù)必須包含 RET U RN 語句 不返回任何值 必須返回單個值 可以包含 RET U RN 語句,但是與函數(shù)不同,不能返回值 必須包含至少一條 RET U RN 語句 參數(shù)方式有 IN 模式、 OUT 模式和 IN OU T 模式 一般只有輸入?yún)?shù)模式 第 7章 過程、函數(shù)和程序包 程 序 包 程序包概述 程序包是數(shù)據(jù)庫中的一個實(shí)體,包含一系列公共常量、變量、數(shù)據(jù)類型、游標(biāo)、過程及函數(shù)的定義。使用包更加體現(xiàn)了模塊化編程的優(yōu)點(diǎn),使得開發(fā)工作能靈活自如地進(jìn)行。程序包包括兩個部分:程序包規(guī)范說明部分和程序包主體部分。 第 7章 過程、函數(shù)和程序包 1.程序包規(guī)范說明部分 該部分相當(dāng)于一個包的頭,類似于接口,可以對包的部件作簡單說明。其中的過程、函數(shù)、變量、常量和游標(biāo)都是公共的,可在應(yīng)用程序中訪問。 (1) 使用 create package進(jìn)行創(chuàng)建。 (2) 包含公用對象和類型。 (3) 聲明類型、變量、常量、異常、游標(biāo)和子程序。 (4) ?可以在沒有程序包主體部分的情況下存在。 第 7章 過程、函數(shù)和程序包 2.程序包主體部分 (1) 使用 create package body進(jìn)行創(chuàng)建。 (2) 包含子程序和游標(biāo)的定義。 (3) 包含私有聲明。 (4) ?不能在沒有程序包規(guī)格說明的情況下存在。 第 7章 過程、函數(shù)和程序包 創(chuàng)建程序包 程序包包括兩部分:規(guī)范和主體。規(guī)范是程序包的公共接口;主體是規(guī)范的實(shí)現(xiàn),以及私有例程、數(shù)據(jù)和變量。 1.創(chuàng)建程序包規(guī)范 CREATE OR REPLACE PACKAGE package_name IS | AS 公用類型或變量常量的聲明; 公用過程或函數(shù)的聲明; END package_name。 / 第 7章 過程、函數(shù)和程序包 2.創(chuàng)建程序包主體 CREATE OR REPLACE PACKAGE BODY package_name IS | AS 私有類型或變量常量的聲明; 公用過程或函數(shù)的實(shí)現(xiàn); END package_name 規(guī)范是程序包的接口,規(guī)范中定義的所有內(nèi)容都可以由調(diào)用者使用 (當(dāng)然需要具有 EXECUTE特權(quán) ),比如規(guī)范中定義的過程函數(shù)可以被執(zhí)行,類型可以被訪問,變量可以被引用。 第 7章 過程、函數(shù)和程序包 【 例 】 ?使用兩個過程 print_ename()和print_sal(),定義名為 employee_pkg的程序包。 SQL CREATE OR REPLACE 2 PACKAGE employee_pkg as 3 Procedure print_ename(p_empno number)。 4 Procedure print_sal(p_empno number)。 5 End。 6 / 程序包已創(chuàng)建。 第 7章 過程、函數(shù)和程序包 此時并沒有為過程提供代碼,只是定義了名稱和參數(shù)。 這個時候如果試圖使用這個包,則會報(bào)錯。 SQL exec (1234)。 ERROR 位于第 1 行 : ORA04068: 已丟棄程序包的當(dāng)前狀態(tài) ORA04067: 未執(zhí)行, package body 不存在 ORA06508: PL/SQL: 無法在調(diào)用之前找到程序單元 ORA06512: 在 line 1 第 7章 過程、函數(shù)和程序包 程序包是過程函數(shù)的具體實(shí)現(xiàn)部分,實(shí)現(xiàn)規(guī)范中定義的接口。 SQL CREATE OR REPLACE 2 PACKAGE BODY employee_pkg as 3 Procedure print_ename(p_empno number) is 4 L_ename %type。 5 Begin 6 Select ename into l_ename from emp where empno=p_empno。 7 (l_ename)。 第 7章 過程、函數(shù)和程序包 8 Exception 9 When no_data_found then 10 (39。Invalid employee number39。)。 11 End print_ename。 12 Procedure print_sal(p_empno number) is 13 L_sal %type。 14 Begin 15 Select sal into l_sal from emp where empno=p_empno。 16 (l_sal)。 第 7章 過程、函數(shù)和程序包 17 Exception 18 When NO_DATA_FOUND then 19 (39。Invalid employee number39。)。 20 End print_sal。 21 End employee_pkg。 22 / 程序包主體已創(chuàng)建。 第 7章 過程、函數(shù)和程序包 執(zhí)行程序包 執(zhí)行程序包中的過程可以使用如下語句: EXECUTE 包名 .過程名 【 例 】 執(zhí)行 employee_pkg包里的 print_ename過程。 SQLset serveroutput on SQL exec (7782)。 運(yùn)行結(jié)果如下: CLARK PL/SQL 過程已成功完成。 SQLexec (7782)。 運(yùn)行結(jié)果如下: 2450 PL/SQL 過程已成功完成。 執(zhí)行程序包中的函數(shù)可以通過一段代碼塊來實(shí)現(xiàn)。 第 7章 過程、函數(shù)和程序包 程序包中的游標(biāo) 程序包中可以定義和使用游標(biāo)。游標(biāo)的定義分為游標(biāo)規(guī)范和游標(biāo)主體兩部分。在游標(biāo)規(guī)范說明部分必須通過 RETURN語句指定游標(biāo)的返回類型。 RETURN語句指定游標(biāo)獲取和返回的數(shù)據(jù)元素由 select語句確定。 select語句只出現(xiàn)在主體定義中,而不出現(xiàn)在規(guī)范說明中。 第 7章 過程、函數(shù)和程序包 【 例 】 下面使用程序包中的游標(biāo)。student_package程序包中包含 4個過程和 1個函數(shù)。其中,select_student過程中使用了游標(biāo)。詳細(xì)過程如下: (1) 首先創(chuàng)建 student表結(jié)構(gòu)。 SQLcreate table student (stuid varchar2(4), stuname varchar2(10),se char(1))。 表已創(chuàng)建。 第 7章 過程、函數(shù)和程序包 (2) 定義聲明。 SQL create or replace package student_package is 2 type student_cur is ref cursor return student%rowtype。 3 procedure insert_student(stu in student%rowtype)。 4 procedure update_student(stu student%rowtype)。 5 procedure delete_student(sno %type)。 6 procedure select_student(stucur in out student_cur)。 7 function getStudentCount return number。 8 end student_package。 9 / 程序包已創(chuàng)建。 第 7章 過程、函數(shù)和程序包 (3) 定義主體。 SQL create or replace package body stude
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1