《oracle从入门到精通(PDF格式)》第29章


设置服务器基于语言的行为:
基于数据库服务器设置
NLS_LANGUAGE SPECIFIES
信息的显示语言
天和月份的名称
A。D;B。C;A。M;P。M 的符号
默认的排序方式(二进制)
NLS_TERRITORY SPECIFIES
28、基本的ORA 网络服务器端配置
连接字符串:HOST:1521:SID
监听器:conn hr/hr@服务命名
服务命名:连接字符串的命名
服务端: 配置监听器 listener。ora
客户端: 1。tnsnames。ora 命名方法选择的配置文件(用什么方法来解析连接字符串)
2。sqlnet。ora
监听进程:
特点:监听多种网络协议;
单个监听器可以监听多个数据库的连接;
多个监听器可以监听单个数据库;
监听器是有名称的,在同一台主机上的监听器不能重名;
不管有几个监听器,都只有一个监听文件存储它们的内容。
配置监听器:
1。静态配置:
由于 8I 以前的版本;
需要配置 listener。ora;
第 79 页,共 106 页 
…………………………………………………………Page 80……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
使用 OEM 连接数据库必须使用静态配置;
listener。ora 的默认设置:
listener name listener
port 1521
pro*—*
2。动态的服务注册:
不需要配置 listener。ora文件
监听器依赖于 PMON 进程
监听器处理连接的方法:
1。传递会话:(专用会话)
会话请求到监听器
监听器判断如果没有问题,监听器通知数据库
2。重定位会话:(多线程服务器:共享服务器)
预先生成调度器进程和服务进程放到监听器中
连接建立的时候服务进程才启用
服务名:是数据库对外的名称。
主机名称和 IP 地址会影响监听器。
共享服务器:共享连接/专用连接
专用服务器:专用连接
故障解决方法:
1。 检查物理连接 PING
2。 服务器端做本地连接
3。 lsnrctl status 检测监听器配置运行是否正常
4。 客户端执行 TNSPING (命令:TNSPING +主机字符串)服务器名,检测服务器命名是 
否能连通
5。 检测 TNSNAMES。ORA 配置是否正常。
三、PL/SQL
pl/sql program language 是能够进行一定程度控制的程序语句。将 SQL 语句嵌入到 ORA 程序 
语句中。
pl/sql developer4。1 pl/sql 开发工具
PRO*C ORA提供的 C 语言的编辑器
SQLJ ORA提供的 JAVA的编辑器
Declaring Variables
pl/sql 的存储程序单元:命名的 pl/sql 块,作为数据对象存储在数据字典中。
匿名的存储程序单元:临时的 pl/sql 语句,只对当前有效。
存储过程:一定执行某个操作,意味着数据或数据对象的改变。
函数:做计算,不能包含任何的数据操作,只能出现 SELECT 语句。
第 80 页,共 106 页 
…………………………………………………………Page 81……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
包:逻辑上相关的一组存储过程和函数的集合体。
触发器:当事件发生,就会触发,仍然是用 pl/sql 语句。
结构:
1。DECLARE(可选)
定义标识符,标识符:变量,常量,游标
2。BEGIN:开始执行主体(必须)
SQL 语句
PL/SQL 语句
3。EXCEPTION(可选)
异常处理
4。END:结束执行主体(必须)
程序头定义:
1。 匿名块:
'declare'
begin
statements
。。。。
'exception'
end;
2。 存储过程:
PROCEDURE name
IS
begin
statements
。。。。
'exception'
end;
3。 函数:
FUNCTION name
RETURN data_type
IS
begin
statements
RETURN value
。。。。
'exception'
end;
1、创建PL/SQL 语句的过程:
选择开发环境
写程序
编辑(语句)
编辑(逻辑)
第 81 页,共 106 页 
…………………………………………………………Page 82……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通 
执行
变量类型:
单值变量(Scalar)
BOOLEAN :true; false; null。
组合变量
大对象
参照变量
输出变量值:
1。建表输出;2。使用包输出;
可以使用替换变量或绑定变量。
1。绑定变量使用时: “: var_name”。
2。替换变量使用时:“&var_name”。
变量定义规则:
1。 命名规则;
2。 如果使用 NOT NULL 必须给变量或常量赋值;
3。 每行只能定义一个标识符;
4。 赋值操作符“:=”
5。 变量名称在同一块内不能重名;
6。 变量名称不要跟查询中的字段名称相同;
%type 属性(也是一种声明单值变量的方法)
已经声明好的属性
以字段名称或声明好的变量作为前缀。
保证变量的匹配关系。
显示变量输出命令
print var_name
在使用了 DBMS_OUTPUT。PUT_LINE()的时候,用 set serveroutput on。
例:
define manager_sal = 1000/var manager_sal =1000
declare
wc_sal employees。salary %type;
begin
select salary into wc_sal from employees where manager_id is null;
wc_sal:=wc_sal+&/:manager_sal;
dbms_output。put_line(wc_sal);
end;
书写正确的执行语句,每一条语句必须有分号。
在语句中:
不可以使用组函数和 DECODE 语句;
其他的字符函数和转换函数都可以使用;
CHR(ASCII)将 ASCII值转换成其对应的字符
赋值语句
第 82 页,共 106 页 
…………………………………………………………Page 83……………………………………………………………
资源来自网络,仅供学习!
小说推荐
返回首页返回目录