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
  ......
界面开发人员报有很多重复数据在用户权限表。然后我删除了表数据delete 方式,修改了对应的存储过程使之不重复!
后来发现 重新拉回的数据没权限。 只好闪回到今天凌晨了!
SQL> ALTER TABLE BA.T_POWER_ADMIN ENABLE ROW MOVEMENT;
Table altered
SQL> flashback table ba.t_Power_Admin to tim ......
建表
create table users(
id number(4) primary key,
username varchar2(10),
password varchar2(10)
)
查询表并解锁表(即可以点击输入框下面的"锁"图标工具, 即"Edit data")
select * from users for update
删除表中多余的列
alter table mobilephone drop column mobiletype
转载
------------------- ......
SQL语言由命令、子句、运算和集合函数等构成。在SQL中,数据定义语言DDL(用来建立及定义数据表、字段以及索引等数据库结构)包含的命令有CREATE、DROP、ALTER;数据操纵语言DML(用来提供数据的查询、排序以及筛选数据等功能)包含的命令有SELECT、INSERT、UPDATE、DELETE。
一、SQL语句
(1)Select 查询语句
语 ......