中南大学软件学院Oracle复习Word文件下载.docx

上传人:b****1 文档编号:15391325 上传时间:2022-10-29 格式:DOCX 页数:13 大小:79.34KB
下载 相关 举报
中南大学软件学院Oracle复习Word文件下载.docx_第1页
第1页 / 共13页
中南大学软件学院Oracle复习Word文件下载.docx_第2页
第2页 / 共13页
中南大学软件学院Oracle复习Word文件下载.docx_第3页
第3页 / 共13页
中南大学软件学院Oracle复习Word文件下载.docx_第4页
第4页 / 共13页
中南大学软件学院Oracle复习Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

中南大学软件学院Oracle复习Word文件下载.docx

《中南大学软件学院Oracle复习Word文件下载.docx》由会员分享,可在线阅读,更多相关《中南大学软件学院Oracle复习Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

中南大学软件学院Oracle复习Word文件下载.docx

alterdatabasedb02openreadonly

对数据库进行约束:

startuprestrict

放一个事件在约束模块:

altersystemenablerestrictedsession

6、关闭服务器:

a)Normal

b)Transactional

c)Immediate

d)Abort

7、数据字典:

一系列显示记录、核实、提供有关数据库的信息的表

作用:

1)、Oracleserverusesittofindinformationabout:

users、schemaobjects、storagestructures

2)、OracleservermodifiesitwhenaDDLstatementisexecuted

3)、UsersandDBAscanuseitasaread-onlyreferenceforinformationaboutthedatabase

8、权限:

GRANTCREATESESSIONTOemi;

GRANTCREATESESSIONTOemiWITHADMINOPTION;

REVOKECREATETABLEFROMemi;

GRANTEXECUTEONdbms_outputTOjeff;

GRANTUPDATEONemi.customersTOjeffWITHGRANTOPTION;

REVOKESELECTONemi.ordersFROMjeff;

9、角色:

CREATEROLEoe_clerk;

CREATEROLEhr_clerkIDENTIFIEDBYbonus;

ALTERROLEoe_clerkIDENTIFIEDBYorder;

ALTERROLEhr_clerkIDENTIFIEDEXTERNALLY;

ALTERROLEhr_managerNOTIDENTIFIED;

GRANToe_clerkTOscott;

GRANThr_clerkTOhr_manager;

GRANThr_managerTOscottWITHADMINOPTION;

ALTERUSERscottDEFAULTROLEhr_clerk,oe_clerk;

ALTERUSERscottDEFAULTROLEALL;

ALTERUSERscottDEFAULTROLEALLEXCEPThr_clerk;

ALTERUSERscottDEFAULTROLENONE;

10、

SELECTlast_name,job_id,salary,

CASEjob_idWHEN'

IT_PROG'

THEN1.10*salary

WHEN'

ST_CLERK'

THEN1.15*salary

SA_REP'

THEN1.20*salary

ELSEsalaryEND"

REVISED_SALARY"

FROMemployees;

DECODE(job_id,'

1.10*salary,

'

1.15*salary,

1.20*salary,

salary)

REVISED_SALARY

在一个SQL中对一个表同时执行inserts和updates操作。

MERGEINTOcopy_empc

USINGemployeese

ON(c.employee_id=e.employee_id)

WHENMATCHEDTHEN

UPDATESET

...

WHENNOTMATCHEDTHEN

INSERTVALUES...;

11、PL/SQL的特点:

过程化和模块化

使用过程化语言的控制结构

错误处理

可移植性

集成

改善性能

12、PL/SQL程序的单元由逻辑块组成

Declear(可选)

Begin(必须)

Exception(可选)

End;

/

13、IF语句:

DECLARE

v_salemp.sal%type;

BEGIN

SELECTsalINTOv_salFROMempWHEREempno=7788;

IFv_sal<

500THEN

UPDATEempSETsal=sal*1.5WHEREempno=7788;

ELSIFv_sal<

1500THEN

UPDATEempSETsal=sal*1.3WHEREempno=7788;

ELSE

UPDATEempSETsal=sal*1.0WHEREempno=7788;

ENDIF;

COMMIT;

END;

14、CASE语句:

CASE

WHENgrade=‘A’THENdbms_output.put_line(‘excellent’);

WHENgrade=‘B’THENdbms_output.put_line(‘verygood’);

WHENgrade=‘C’THENdbms_output.put_line(‘good’);

WHENgrade=‘D’THENdbms_output.put_line(‘fair’);

WHENgrade=‘F’THENdbms_output.put_line(‘poor);

ELSEdbms_output.put_line(‘nosuchgrade’);

ENDCASE;

15、LOOP语句:

DECLARE

v_counternumber:

=1;

LOOP

INSERTINTOtemp_tableVALUES(v_counter,’loopindex’);

v_counter:

=v_counter+1;

IFv_counter>

50THEN

exit

ENDIF;

ENDLOOP;

//////================

=1;

WHILEv_counter<

=50LOOP

INSERTINTOtemp_tableVALUES(v_counter,‘loop_index’);

v_counter:

=v_counter+1;

///////===============

v_counternumber:

=1;

FORv_counterIN1..50LOOP

INSERTINTOtemp_tableVALUES(v_counter,’loopindex’);

ENDLOOP;

FORv_counterINREVERSE1..50LOOP//相反

//////////====================

DECLARE

v_vonternumber:

=1;

LOOP

INSERTINTOtemp_tableVALUES(v_counter,‘loopcount’);

IFv_counter>

GOTOENDOFLOOP;

ENDIF;

<

<

ENDOFLOOP>

>

INSERTINTOtemp_table(char_col)VALUES(‘done!

’);

16、常见异常:

异常代码

异常名称

说明

ORA-01403

NO_DATA_FOUND

查询没有返回数据

ORA-01422

TOO_MANY_ROWS

SELECT…INTO语句返回多行结果

v_commm%type;

SELECTcommINTOv_comm

FROMempWHEREempno=7788;

EXCEPTION

WHENno_data_foundTHEN

dbms_output.put_line(‘nodata!

’);

WHENtoo_many_rowsTHEN

dbms_output.put_line(‘toomanyrow!

WHENothersTHEN

null;

END;

17、处理用户自定义的错误有三个步骤:

定义错误、触发错误、处理错误

e_toomanystudentexception;

 /*定义错误*/

v_currentstudentnumber(3);

v_maxstudentnumber(3);

v_errorcodenumber;

v_errortextvarchar2(200);

BEGIN

SELECTcurrent_student,max_studentsINTO

v_currentstudent,v_maxstudent

FROMclasseWHEREdepartment=‘HIS’andcourse=101;

IFv_currentstudent>

v_maxstudentTHEN

RAISEe_toomanystudent;

    /*触发错误*/

ENDIF;

WHENno_data_foundortoo_many_rowsTHEN

dbms_output.putline(‘发生系统预定义错误’);

WHENe_toomanystudentTHEN/*处理错误*/

INSERTINTOlog_table(info)

VALUES(‘history101has’||v_curre

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1