ORACLE PLSQL知识点整理

ORACLE & PLSQL必备知识点

1、 ORACLE 客户端软件的安装与配置;

A、 ORACLE自带软件

B、 PL/SQL DEVELOPER 或TOAD等;

C、 服务配置

D、

2、 SQLPLUS 的使用

A、 常用的格式设置命令

B、 快捷命令, ed , /

C、 自动登陆格式设置

3、 常用的数据类型的理解与识别;

数值型,字符型,日期型;

4、 常用函数的使用

A、 字符函数

Char ,upper,lower, substr,lpad,rpad,replace,ltrim,rtrim Instr,length

B、 数学函数

Abc, mod

C、 时间日期函数

Sysdate,add_months,last_day,month_between,next_day

D、 空值函数

Nvl

E、 汇总函数

Count , sum , avg,max, min

F、 转换函数

To_char, to_number

G、 其它函数

Decode,user

5、 SELECT 查询语句的使用

A、 分组,排序

B、 多表一对一关联

C、 多表一对多关联(左关联或右关联)

D、 交集,并集,差集

E、 Where 子句的使用

F、 ORDER BY 子句

G、 GROUP BY 子句

H、 HAVING 子句

I、 子查询

6、 通配符的使用

Like , % , ?

7、 表的联合

A、 等值联合

B、 不等值联合

C、 外部联合与内部联合

D、 自我联合

8、 UPDATE ,INSERT INTO,DELETE语句的使用

A、 INSERT ……VALUES

B、 INSERT ……..SELECT

9、 表结构的管理

A、 创建表

CREATE TABLE

B、 修改表结构

ALTER TABLE

C、 删除表

DROP TABLE

D、 表的约束,关键字

10、 索引与关键字的创建与使用

包括索引的优化与提升性能;

11、 序列的创建与使用

12、 同义词的建立与使用

13、 系统(字典)表的使用

A、 表对象 user_tables

B、 索引表 user_indesx

C、 约束表 user_constraints

D、 序列对象 user_sequences

E、 视图对象 user_views

F、 同义词对象 user_synonyms

G、 用户TAB对象 tab

H、 对象表 user_objects

I、 学会掌握规律, user_ dba_

14、 数据的导出与导入,使用工具和SQL

15、 PL/SQL的使用

A、 PL/SQL块的基本语法

B、 PL/SQL程序块的编写和使用

C、 创建PL/SQL存储过程或函数编写和使用

16、

17、 错误代码的分析与处理 数据库链路的建立与使用

 

第二篇:ORACLE PLSQL 基础教程

PL/SQL

一、 PLSQL 变量

set serveroutput on;

declare v_num number :=0;--变量名一般以v开头

begin v_num:=2/v_num; --这句因为除数为0会报错。

dbms_output.put_line(v_num);

end;

/

异常处理:

set serveroutput on;

declare v_num number :=0;

begin

v_num:=2/v_num; dbms_output.put_line(v_num);

exception

when others then

dbms_output.put_line('错误');

end;

/

变量类型

binary_integer: 整数,主要用来计数而不是用来表示字段类型

number 数字类型

char 定长字符串

varchar2 变长字符串

date 日期

long 长字符串,最长2G

boolean 布尔类型,可以取值为true,false ,和null。

声明变量:

set serveroutput on; declare v_num number :=0;

v_bl boolean :=false; begin

dbms_output.put_line('s');

end;

/

注意:declare 放在变量声明的最前面,无论声明多少个变量仅可放一个declare

boolean 类型的变量是不能通过dbms_output.put_line()打印出来的。 得到表中字段类型

%type

set serveroutput on;

declare v_num number :=0;

v_blnum v_num%type := v_num;

begin

dbms_output.put_line(v_blnum);

end;

/

Record 类型:

set serveroutput on;

declare type type_record is record

(

name1 varchar(20),

age number

);

v_type_record type_record;

begin

v_type_record.name1:='nihaoname';

v_type_record.age:=23;

dbms_output.put_line(v_type_record.name1||'

'||v_type_record.age);

end;

/

使用%rowtype声明record 变量(将对应表的所有类型作为该变量的成员)

set serveroutput on;

declare

v_school school%rowtype;

begin

v_school.name1:='nama';

v_school.age:='age';

dbms_output.put_line(v_school.name1||v_school.age);

end;

二、 PL/SQL中的sql

1. Insert 语句

Insert 语句必须要有返回值且只有一条返回。

Insert 语句中必须有into 将查到的数据放入到对应的变量中。注意into两边的值的个数要相同。

Into 后可以传入一个record类型的变量,用于将查询出来的值放入到该变量中。 set serveroutput on;

declare

v_school school%rowtype;

begin

select name1 ,age into v_school from school;

dbms_output.put_line(v_school.name1);

end;

/

2. Update 语句

sql%rowcount 得到刚刚执行sql影响的行数。

set serveroutput on;

declare

v_school school%rowtype;

begin update school set name1='tes2t' where name1='s' ; dbms_output.put_line(sql%rowcount||'ss');

commit;

end;

/

3. 执行DDL 语句

在pl/sql 中执行sql语句方法

三、 判断语句

set serveroutput on; declare

v_num number(20) :=1399;

begin

if (v_num <1200) then

dbms_output.put_line('low');

elsif(v_num<1800) then

dbms_output.put_line('middle');

else

dbms_output.put_line('high');

end if;

end;

/

四、 循环

set serveroutput on;

declare

i number(20) :=1;

begin

loop

dbms_output.put_line('nihao'||i);

i:=i+1;

exit when (i>=5);

end loop;

end;

/

set serveroutput on;

declare

i number(20) :=1;

begin while (i<=5) loop

dbms_output.put_line('nihao'||i);

i:=i+1;

end loop;

end;

/

正序for循环

set serveroutput on;

declare

i number(20) :=1;

begin

for a in 1..9 loop

dbms_output.put_line(a);

end loop;

end;

/

反序for循环

begin

for a in reverse 1..9 loop

dbms_output.put_line(a);

end loop;

end;

/

注意:无论是正序还是反序for循环 循环的数字必须是从小到大排列如1..9

五、 错误处理

set serveroutput on;

declare i number(20) :=1;

v_name varchar(20) :='';

begin

select name1 into v_name from school where name1='ss'; exception

when no_data_found then

dbms_output.put_line('没有数据');

when others then

begin

dbms_output.put_line('未知错误');

end;

end;

/

SQLCODE SQLERRM 关键字代表出错代码和出错信息。 set serveroutput on;

declare

i number(20) :=1;

v_name varchar(20) :='';

begin select name1 into v_name from school where name1='ss'; exception

when no_data_found then

dbms_output.put_line('没有数据'||SQLERRM || SQLCODE); when others then

begin

dbms_output.put_line('未知错误');

end;

end;

/

相关推荐