【正文】
End trg_emp_dml_row。Else(:||’ ’||:)。create or replace trigger trg_emp_dml_rowBefore insert or update or delete on For each rowBeginIf inserting then(:||’ ’||:)。end。關(guān)閉數(shù)據(jù)庫39。Create table shutdown_log(shut_user varchar2(20),shut_time date,shut_action varchar2(20))。end get_sum。return sumNUM。i:=i1。i:=maxNum。i number。set sertverout on。end outputEMP。close cEMP。fetch cEMP into d_name,count_EMP,avg_sal,sum_sal。,39。,39。,39。fetch cEMP into d_name,count_EMP,avg_sal,sum_sal。avg_sal number(7,2)。count_EMP number。create or replace procedure outputEMP as begin declarecursor cEMP isselect dname,count(*),avg(sal),sum(sal)from ,where =group by dname。實(shí)驗(yàn)十二 存儲(chǔ)過程和函數(shù),、員工總數(shù)以及員工的工資總和和平均工資。CLOSE c1。END IF。NEW YORK39。NEW YORK39。SALES39。 WHERE CURRENT OF C1。THEN UPDATE dept SET LOC = 39。 AND != 39。IF = 39。LOOPFETCH c1 INTO dept_rec。Dept_rec c1%ROWTYPE。END。END LOOP。IF UPDATE emp set sal = 5000 where empno = 。LOOPFETCH c1 INTO emp_record。emp_record c1%ROWTYPE。ANALYST39。end。FETCH c1 INTO v_ename, v_sal, v_hiredate。v_hiredate date。v_ename VARCHAR2(10)。SLELECT * FROM TEMP_TABL實(shí)驗(yàn)十一 游標(biāo)五、實(shí)驗(yàn)方法和步驟:1.聲明顯式游標(biāo)聲明一個(gè)游標(biāo)用來讀取基表EMP中部門號(hào)是20且工作為分析員的職工: DECLARE Cursor c1 ISSELECT ename, sal, hiredate FROM emp WHERE deptno = 20 AND job = 39。END。BEGIN FOR v_counter IN 101..150 LOOPINSERT INTO temp_table values(v_counter,’loop index’)。END。v_counter := v_counter+1。(3)利用WHILE循環(huán)向表中插入51100條記錄; DECLAREv_counter BINARY_INTEGER :=1。END LOOP。v_counter := v_counter+1。(2)利用LOOP循環(huán)向表中插入前50條記錄; DECLAREv_counter BINARY_INTEGER :=1。END IF。BEGINSELECT sal INTO x FROM emp WHERE empno = 7788。update(select price from books)set price=price+10實(shí)驗(yàn)十 PL/SQL程序結(jié)構(gòu)五、實(shí)驗(yàn)方法和步驟:*Plus中使用PL/SQL塊處理EMP表中職工號(hào)7788的職工,如果工資小于5000那么把工資更改為5000。內(nèi)嵌視圖(1)查詢價(jià)格由高到低處于前三位的書本信息,注意采用內(nèi)嵌視圖的方式實(shí)現(xiàn)。(7)刪除該視圖。(6)重新編譯V_BOOKS視圖。alter table boks add price int。(5)向基礎(chǔ)表增加一個(gè)屬性列“價(jià)格”,數(shù)字型。(4)修改視圖,增加一個(gè)列出版日期。Select text from user_views where view_name=’VW_BOOKS’;(3)查看視圖內(nèi)容。Create view v_books asSelect book_id 編號(hào),author 作者,press 出版社from books。Create table books(Book_id number primary key, Book_name varchar2(50)not null, Author varchar2(20), Press varchar2(50), Price number, Publishdate date)。Alter table student drop drop constraint p_uk。(2)使用SCOTT帳戶登錄數(shù)據(jù)庫,在OME控制臺(tái)中查看SCOTT用戶的各種模式對(duì)象信息。Select trigger_name from user_triggers。Select index_name from user_indexes。Show userSelect table_name from user_tables。查詢ORACLE數(shù)據(jù)庫的模式對(duì)象信息目標(biāo):使用管理工具(SQL*PLUS或OEM)獲得有關(guān)數(shù)據(jù)庫模式對(duì)象的有關(guān)信息。(2)在SQL*PLUS中執(zhí)行SELECT語句查看STUDENTS表中的內(nèi)容。(1)在SQL*PLUS中執(zhí)行TRUNCATE TABLE語句刪除STUDENTS表中的所有記錄。Alter table student set unused(age)。Alter table student add(age number(2))。Alter table student allocate extent(size 400k)。Alter table student ptused 40。(1)在SQL*PLUS中執(zhí)行ALTER TABLE語句修改STUDENTS表的存儲(chǔ)參數(shù)(修改pctfree和pctused分別為20和40)。Create global temporary table temp01(id number(2)primary key, name varchar(20))on mit delete rows。Delete from