ORACLE PL/SQL 记录(Record)学习笔记(一)
在PL/SQL程序设计中,有三种定义记录类型的方法:一种是使用%ROWTYPE属性;另一种是在PL/SQL程序的声明部分显示定义记录类型;最后一种方法是将记录类型定义为数据库结构或对象类型。
我先简单的介绍一个下面要用到的表的结构(黑体标明的字段为主键):
INDIVIDUALS表
INDIVIDUAL ID
FIRST NAME
MIDDLE_INITIAL
LAST_NAME
ADDRESSES表
ADDRESS ID
INDIVIDUAL ID
STREET_ADDRESS1
STREET_ADDRESS1
STREET_ADDRESS1
CITY
STATE
POSTAL_CODE
COUNTRY_CODE
TELEPHONES表
TELEPHONE ID
INDIVIDUAL ID
ADDRESS_ID
TELEPHONE_TYPE
TELEPHONE_NUMBER
一、记录类型的定义和使用
1、使用%ROWTYPE属性隐式定义记录类型
可以使用%ROWTYPE属性引用PL/SQL游标、数据库中的表、对象或视图,%ROWTYPE属性继承了这些对象的行定义。在用%ROWTYPE属性定义的行中,所有字段都是根据与之相关的表列的数据类型隐式定义的。字段名称也就是表中的列名。
通过使用点语法隔开记录变量名称和记录的字段名,我们就可以分别访问记录的各个字段。
如下例所示:
DECLARE
-- Define a variable with an implicit record type.
individual individuals%ROWTYPE;
BEGIN
-- Initialize the field values for the record.
individual.individual_id := 1;
individual.first_name := 'John';
individual.middle_initial := 'D';
individual.last_name := 'Rockefeller';
-- Insert the values into the target object.
INSERT
INTO individuals
VALUES
(individual.individual_id
,individual.first_name
,individual.middle_initial
,individual.last_name);
-- Commit the record.
COMMIT;
END;
/
2、显式地将记录类型定义为PL/SQL结构
也可以在PL/SQL程序的声明部分,通过定义一个记录类型的方式,显式的创建一个记录类型。可以显式地键入变量名称来定义记录类型的变量,也可以使用%TYPE属性定义变量。
如下例所示:
DECLARE
-- Define a record type.
TYPE individual_record IS RECORD
(individual_id INTEGER
,first_name VARCHAR2(30 CHAR)
,middle_initial individuals.middle_initial%TYPE
,last_name VARCHAR2(30 CHAR));
-- Define a variable of the record type.
indi
相关文档:
Oracle 的代码表示及事例
1. select + xxx + from + xxx //查询语句 xxx 表示一个表
Select * from + xxx // * 表示一个列表中所有的内容
类: 1)// select * from country
  ......
Oracle和Tomcat端口冲突
原因:
Oracle 9i开始,创建数据库时默认包含了XDB特性。一旦启动了数据库和Listener,Oracle XDB的http服务就占用8080端口,刚好和JBoss、Tomcat等默认端口冲突。
解决方法
1、改动tomcat端口,
打开D:\Tomcat5\conf\server.xml,查找如下文本位置:
<!-- Def ......
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。
举例说明:
例如表:student(学生)表,表结构为:
ID char(6) --学号
name VA ......
默认的情况下,如果没有配置压缩备份,或者备份的时候没有发出compressed 命令,那么ORACLE会采用NULL数据块的压缩方法来备份数据库,采用这种方法备份,ORACLE就不会备份从未使用过的数据块。另外一种备份就是采用compressed命令压缩备份,采用这种方法,ORACLE会使用压缩算法来备份数据,通常会 ......
Imp和Exp
命令详解:
Exp
导出
模式:
Full模式---导出
整个数据库
User模式---导出
指定的用户
Table模式—导出
指定的表
Tablespace模式—导出
表
空间
Exp
导出
参数:
OWNER指定要导出
的用户列表
FULL=y表示要导出
整个数据库
Tables指定要导出
的表
Tablepaces指定要导出
的表
......