Oracle PL/SQL块结构和组成元素学习笔记(一)
一,PL/SQL块的结构和组成元素
PL/SQL程序由声明部分,执行部分,异常处理部分三个部分组成。结构如下:
DECLARE
/*声明部分:在此声明PL/SQL变量,类型及游标,以及局部的存储过程和函数*/
BEGIN
/*执行部分:过程及sql语句,程序主要部分,是必须的*/
EXCEPTION
/*异常处理部分:错误处理*/
END
PL/SQL块分为三类:
1, 无名块:动态构造,只能执行一次。
2, 子程序:存储在数据库中的存储过程、函数及包等,在数据库上建立好以后可以在其他程序中调用它们。
3, 触发器:数据库发生操作时,触发事件,从而自动执行相应的程序。
PL/SQL标识符:
PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同,要求如下:
1, 标识符名不能超过30个字符。
2, 第一个字符必须为字母。
3, 不分大小写。
4, 不能用减号(-)。
5, 不能是SQL保留字。
6, 不要把变量名与表字段中的名一样,可能得到不正确的结果。
变量命名规则如下:
标识符(变量)
命名规则
示例
程序变量
V_name
V_username
程序产量
C_name
C_username
游标变量
Name_cursor
Emp_cursor
异常标识
E_name
E_null_exception
表类型
Name_table_type
Emp_userInfo_type
表
Name_table
userInfo
记录类型
Name_record
Emp_record
SQL*Plus替代变量
P_name
P_sal
绑定变量
G_name
G_sal
变量类型如下:
类型
子类
说明
范围
Oracle限制
CHAR
Character
String
Rowid
Nchar
定义字符串
民族语言字符集
0~32767,可选缺省=1
2000
VARCHAR2
Varchar,String,
NVARCHAR2
可变字符串
民族语言字符集
0~32767
4000
4000
BINARY_INTEGER
带符号整数,为整数计算优化性能
NUMBER(p,s)
Dec
Double
Precision
Integer
Int
Numeric
Real
Small int
小数,NUMBER的子类型
高精度实数
整数,NUMBER的子类型
整数,NUMBER的子类型
整数,NUMBER的子类型
与NUMBER等价
与NUMBER等价
整数,比integer小
LONG
变长字符串
0~2147483647
32767字节
DATE
日期型
公元前4712年1月1日至公元后4712年12月31日
BOOLEAN
布尔型
TRUE,FALSE,NULL
不使用
ROWID
存放数据库行号
UROWID
通用行标识符,字符类型
 
相关文档:
oracle10g新特性:闪回恢复区(Flash recovery area)
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的。这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了。oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力, ......
刚才在逛一个网友的博客的时候发现了一篇关于REDO、UNDO、COMMIT、ROLLBAKC的文章。虽然内容可能不是特别全面,可是还是总结的挺好的,转过来方便将来学习。
==================================================================================
redo--> undo-->datafile
insert一条记录时,表跟undo的信息都会 ......
1. use database as archive log mode and set archive dest location
alter system set LOG_ARCHIVE_DEST_1 = 'LOCATION=/u04/arch/orcl' scope=spfile;
2. configuration retention days/size/distination
ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=43200; --30 days
ALTER SYSTEM SET db_recovery_file_dest_ ......
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GE ......
功能:pl plus执行本地的sql文件中的sql语句
说明:比如:e:\zhaozhenlong下有create_table.sql文件,则按如下方法执行:
步骤:
1、在pl plus的 window下,
2、执行:
@e:\zhaozhenlong\drop_table.sql
@e:\zhaozhenlong\create_table.sql
......