经典sql-高级-实验三.doc

经典sql-高级-实验三.doc

ID:56778982

大小:40.00 KB

页数:9页

时间:2020-07-09

经典sql-高级-实验三.doc_第1页
经典sql-高级-实验三.doc_第2页
经典sql-高级-实验三.doc_第3页
经典sql-高级-实验三.doc_第4页
经典sql-高级-实验三.doc_第5页
资源描述:

《经典sql-高级-实验三.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三、1.建立一个表(表名自定),表结构与EMP相同,没有任何记录。createtablemy_empasselect*fromemp;2.用Insert语句输入5条记录,并提交。3.扩大该表的记录数到约40条,并使雇员号不重复;每个雇员都有所属部门,雇员在同一部门的经理是同一人。insert….update…commit4.建立一个与DEPT表结构和记录完全相同的新表,并与前项新表建立参照完整性约束。altertablemy_deptadd(constraints1primarykey(deptno));altertablemy_empadd(constraints2for

2、eignkey(deptno)referencesdept(deptno));5.对在‘NEWYORK’工作的雇员加工资,每人加200。6.*如果雇员姓名与部门名称中有一个或一个以上相同的字母,则该雇员的COMM增加500。updatemy_empasetcomm=NVL(comm,0)+500wherea.ename<>(selecttranslate(a.ename,b.dname,CHR(27))frommy_deptbwhereb.deptno=a.deptno);--a.deptno与b.deptno必须有主外键连接,否则可能出错,为什么?commit;7.删除部门号

3、为30的记录,并删除该部门的所有成员。deletefromempwheredeptno=30;deletefromdeptwheredeptno=30;commit8.新增列性别SEX,字符型。altertableempadd(sexchar(2));9.修改新雇员表中的MGR列,为字符型。该列数据必须为空altertableempmodify(mgrvarchar2(20));10.试着去删除新表中的一个列。altertablemy_empdrop(comm);实验四、1.查询部门号为30的所有人员的管理层次图。selectlevel,enamefromempconnectb

4、ymgr=priorempnostartwithdeptno=30andjob='MANAGER';2.查询员工SMITH的各个层次领导。selectlevel,enamefromempconnectbypriormgr=empnostartwithENAME='SMITH';3.查询显示EMP表各雇员的工作类型,并翻译为中文显示用decode函数4.*查询显示雇员进入公司当年是什么属相年(不考虑农历的年份算法)用decode函数5.建立一个视图myV_emp,视图包括myEMP表的empno、ename、sal,并按sal从大到小排列。createviewmyV_EMPass

5、electempno,ename,salfromemp;6.定义一个mySeq,对selectmySeq.nextval,my_emp.*frommy_emp的执行结果进行说明。7.定义序列mySeq、myEMP、myV_emp的同义词,能否用同义词对上述对象进行访问。8.在myEMP表中建立ename的唯一性索引。9.如何在sql*plus中,运行sql的脚本(即后缀为.sql的文件)实验五、1.观察下列PL/SQL的执行结果declaresemp%rowtype;beginselect*intosfromempwhereename='KING';DBMS_OUTPUT.PU

6、T_LINE(s.empno

7、

8、s.ename

9、

10、s.job

11、

12、s.sal);END;2.编写一个PL/SQL,显示ASC码值从32至120的字符。beginforiin32..120loopdbms_output.put_line(chr(i));endloop;end;3.计算myEMP表中COMM最高与最低的差值,COMM值为空时按0计算。declarevar1number;var2number;val_commnumber;beginselectmax(nvl(comm,0))intovar1frommyemp;selectmin(nvl(comm,0))intovar

13、2frommyemp;val_comm:=var1-var2;dbms_output.put_line(val_comm);end;4.根据表myEMP中deptno字段的值,为姓名为‘JONES’的雇员修改工资;若部门号为10,则工资加100;部门号为20,加200;其他部门加400。declarec1number;c2number;beginselectdeptnointoc1fromempwhereename=’JONES’;ifc1=10thenc2:=100;elsifc1=20t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。