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

正文內(nèi)容

plsql程序設(shè)計(jì)-在線瀏覽

2024-08-27 16:48本頁面
  

【正文】 L/SQL表 (數(shù)組 )-多行多列結(jié)構(gòu) Declare Type t_studentTab is TABLE of students%ROWTYPE student_array t_studentTalbe 。 begin for rec in (select * from students) loop I:=I+1 。 end loop 。 (I , j )。 err_code:=sqlcode。 end 。 if sql%found then raise too_many_rows 。 exception when no_data_found then null 。 PL/SQL塊 中特殊的 例外轉(zhuǎn)移 Declare段發(fā)生例外 V_Number NUMBER(3) :=‘ABC’。 when b then 立刻傳播到包含塊 利用 PL/SQL塊 中特殊的 例外轉(zhuǎn)移 Declare a exception。 Exception when a then insert into log_able…..。 End。 建立數(shù)據(jù)庫對象-觸發(fā)器 Create trigger emp_check before/after/instead of insert or update or delete on emp begin if to_char(sysdate,`dy`)=`星期日 ` then raise_application_error(20220, ‘ today is holiday 39。 end if 。 / 建立數(shù)據(jù)庫對象-觸發(fā)器 Insert into emp values(…. )。39。 end if 。 建立數(shù)據(jù)庫對象-觸發(fā)器 Create or replace trigger generateid Before insert on students For each row Begin Select into : from dual。 行觸發(fā)器例 觸發(fā)器調(diào)試 ?temp(a,b,c) tempbak create or replace trigger t1 after insert on temp for each row begin insert into tempbak values(,:,:)。 / 觸發(fā)器調(diào)試 警告:已創(chuàng)建的觸發(fā)程序出現(xiàn)編譯錯(cuò)誤。39。 end 。 函數(shù) Create or replace function raise_salary (emp_id integer,increase real) RETURN BOOLEAN is begin update emp set sal=sal+increase where eno=emp_id 。 end 。 子程序 —— 參數(shù)模式 三種模式 ?IN 傳入,只讀 ?OUT 傳出,只寫 ?IN OUT 傳入傳出,可讀寫 子程序 —— 參數(shù)限制 1. OUT, IN OUT只能用變量調(diào)用 p(in, in, out) p(‘a(chǎn)’,’b’,’c’)。 a2 number(8)。 p(a1, a2, a3)。 p (v1 in varchar2, v2 in varchar2 v3 in varchar2 default ‘a(chǎn)aaa’) p(a1, a2, a3)。 子程序 —— 權(quán)限 子程序在其擁有者的權(quán)限下運(yùn)行 2. 依賴對象的權(quán)限 直接授予擁有者,不能通過角色授予 3. 原因 a. oracle早期聯(lián)編 子程序 —— 例外返回 子程序返回調(diào)用者或調(diào)用環(huán)境 2. Out 及 in out 型變量值 保留調(diào)用時(shí)的值 子程序 —— 調(diào)用 ?在 SQL*Plus中 execute raise_salary(12,) ?在 PL*SQL中 begin raise_salary(12,); end 。 ?包提供了 PL/SQL的全局變量 ?包中過程可重載 ?不同會(huì)話使用包的不同拷貝 包 —— 結(jié)構(gòu)圖 應(yīng)用程序 包 —— 規(guī)范和主體 ?包規(guī)范 /接口 (specification) 變量,常量,過程,函數(shù),光標(biāo),例外 … 。 ?包主體 (body) 過程,函數(shù)的實(shí)現(xiàn) ?包依賴性 (user_dependencies) 主體依賴接口,接口不依賴主體,減少重編譯 例四 —— 包規(guī)范 CREATE OR REPLACE PACKAGE ClassPackage AS Add a new student into the specified class. PROCEDURE AddStudent( p_StudentID IN %TYPE, p_Department IN %TYPE, p_Course IN %TYPE)。 Exception raised by RemoveStudent. e_StudentNotRegistered EXCEPTION。 Returns a PL/SQL table containing the students currently in the specified class. PROCEDURE ClassList( p_Department IN %TYPE, 例四 —— 包規(guī)范 p_Course IN %TYPE, p_IDs OUT t_StudentIDTable, p_NumStudents IN OUT BINARY_INTEGER)。 例四 —— 包體 CREATE OR REPLACE PACKAGE BODY ClassPackage AS Add a new student for the specified class. PROCEDURE AddStudent( p_StudentID IN %TYPE, p_Department IN %TYPE, p_Course IN %TYPE) IS BEGIN INSERT INTO registered_students (student_id, department, course) VALUES (p_StudentID, p_Department, p_Course)。 END AddStudent。 IF SQL%NOTFOUND THEN RAISE e_StudentNotRegistered。 COMMIT。 Returns a PL/SQL table containing the students currently in the specified class. 例四 —— 包體 PROCEDURE ClassList( p_Department IN %TYPE, p_Course IN %TYPE, p_IDs OUT t_StudentIDTable, p_NumStudents IN OUT BINARY_INTEGER) IS v_StudentID %TYPE。 例四 —— 包體 BEGIN /* p_NumStudents will be the table index. It will start at 0, and be incremented each time through the fetch loop. At the end of the loop, it will have the number of rows fetched, and th
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1