【精选资料】Oracle课程实验指导?- 百度文库

2026/4/29 2:18:31

alter alter user system identified by systempass;

systemûݵ½sqlplusִУ

Create table test_system(ename varchar2(20), mgrname varchar2(20)); Insert into test_system values(Ա,쵼);

select * from test_system; grant select on test_system to SCOTT; (10) revoke select on test_system from SCOTT; rollback;

عûãrevokeԶύ (11) drop table test_system; rollback; ͬϣ

2ݿϰ

ʵһ PL/SQL﷨ѵ

1. ʵĿ

ջı﷨дPL/SQLɼ򵥵 2. ʵ鲽

(1) PL/SQLEMPְԱ'SMITH'Ĺ100Ԫύݿ; (2) MARTINӶ1500Ԫ乤Ϊ1500Ԫ;

(3) ѯְҵΪCLERKұ˾ܹʱְּ˾

֣½ıNAMEСַ𣺢ùWHILEѭʵ֣ùFORѭʵ֡ (4) 裨3У蹤Ϊ CLERKְԱǹ˾ƸԱ

ְԱΪMANAGER 3. ʵ

(1) £

declare

name varchar2(10):=SMITH; begin

update emp set sal=sal+100 where ename=name; commit; end;

5

(2) :

declare

salary number(7,2); begin select nvl(comm,0) into salary from emp where ename=MARTIN; if salary < 1500 then update emp set sal=1500 where ename=MARTIN; end if; commit; end; (3) :

WHILEѭʵ declare cursor c1 is

select e1.ename, e2.ename from emp e1,emp e2 where e1.job='CLERK' and e1.mgr=e2.empno and e1.hiredate < e2.hiredate; empname emp.ename%TYPE; mgrname emp.ename%TYPE; begin

open c1;

fetch c1 into empname,mgrname; while c1%FOUND loop insert into name values(empname, mgrname); fetch c1 into empname,mgrname; end loop; close c1; end;

FORѭʵ: declare cursor c1 is

select e1.ename empname, e2.ename mgrname from emp e1,emp e2 where e1.job='CLERK' and e1.mgr=e2.empno and e1.hiredate < e2.hiredate; emp_rec c1%ROWTYPE; begin

6

for emp_rec in c1 loop insert into name values(emp_rec.empname, emp_rec.mgrname); end loop; end; (4) :

declare edate date; sdate date; begin

select min(hiredate) into edate from emp;

select min(hiredate) into sdate from emp where job='CLERK';

if sdate = edate then update emp set job='MANAGER' where hiredate=sdate and job=CLERK; end if; end;

ʵ ݿϰ

1. ʵĿ

մͼݿİ취

˽صֵuser_objects, user_source, user_constraints 2. ʵ鲽

(1) EMPһԱ;ӦETABõ£

? Ա ? ? űţ ? ƣ

(2) ϱǰнΪEINDX

(3) EMPϱݵͼEVIEWҪûظ¼; (4) һESEQ

(5) ޸ETABһдеȡֵEMPDEPTн

Ӧ䵽ETABС (6) ETABӵԼ

7

(7) EMPϱдһκζSalcommе޸ģÿ

޸Ĵеݿû޸ĵʱ䣬޸ĵûǰ͸ĺеֵ½һƱУȻ乤Ƿ 3. ʵ

(1) create table etab(

empname varchar2(10), mgrname varchar2(10), deptno number(2), deptname varchar2(14) );

(2) create index eindx on etab(empname,mgrname);

(3) create view eview as select distinct e1.ename empname,e2.ename

mgrname,e1.deptno deptno,dname deptname from emp e1,emp e2,dept where e1.mgr=e2.empno and e1.deptno=dept.deptno; (4) create sequence eseq increment by 1 start with 10000 maxvalue 19999; (5) alter table etab add( no number(5));

insert into etab select e1.ename empname,e2.ename mgrname,e1.deptno deptno,dname deptname,eseq.nextval from emp e1,emp e2,dept where e1.mgr=e2.empno and e1.deptno=dept.deptno

(6) alter table etab add ( constraint c1 primary key(no)); (7)

create table audit_emp ( database_user modify_date modify_user );

varchar2(30), date,

number(4),

sal_before_update number(7,2), sal_after_update number(7,2), comm_before_update number(7,2), comm_after_update number(7,2)

create or replace trigger audit_emp before update of sal, comm on emp for each row

8


【精选资料】Oracle课程实验指导?- 百度文库.doc ĵWordĵص
ڣ 【精选资料】Oracle课程实验指导?- 百 ĵ
Ƽ
Ķ
οͿͨغɸƺŰ棩

رĵҪ֧ 10 Ԫ

֧ʽ

ͨVIP»Ա ؼۣ29Ԫ/

עĵпܡֻĿ¼ݲȫ֮ǰעѸ޷ػ⣬ϵЭ㴦
΢ţxuecool-com QQ370150219