PL/SQL定义部分之二复合数据类型
2009-03-12 13:10:50 来源:WEB开发网查询全部的列信息
SELECT * FROM PERSON;
在isql*plus中结果如下:
通过嵌套表变量显示信息
DECLARE
pTable PHONE_TYPE;
BEGIN
SELECT phone into pTable FROM person WHERE name='SCOTT';
FOR i IN 1..pTable.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('号码'||i||':'||pTable(i));
END LOOP;
结果如下:
号码1:13256789876
号码2:031198765432
4、更新嵌套表数据:
DECLARE
pTable PHONE_TYPE:=PHONE_TYPE('034223455432','13888888888');
BEGIN
UPDATE person SET phone=pTable WHERE name='SCOTT';
END;
四、可变数组(VARRAY数组)
VARRAY数组是一种集合数据类型,也可以作为表的列来使用,该集合的下标从1开始,并且元素个数是有限制的。语法如下:
DECLARE
TYPE MyArrayTypeName IS VARRAY(size) OF ELEMENT_TYPE [NOT NULL];
my MyArrayTypeName
其中MyArrayTypeName 是数组类型的名字,size表示数组最多存储多少个元素,ELEMENT_TYPE是元素的类型,NOT NULL不允许使用NULL值,my是数组变量的名称。
示例1:
DECLARE
TYPE MyVArrayType IS VARRAY(10) OF dept.dname%TYPE NOT NULL;
--构造方法中最多可以有10(size)个元素
--既是没有定义NOT NULL,也不会自动为4-10元素赋NULL值
nameArray MyVArrayType:=MyVArrayType('1','2','3');
BEGIN
SELECT dname into nameArray(1) from dept where deptno=20;
SELECT dname into nameArray(2) from dept where deptno=30;
DBMS_OUTPUT.PUT_LINE(nameArray(1));
DBMS_OUTPUT.PUT_LINE(nameArray(2));
DBMS_OUTPUT.PUT_LINE(nameArray(3));
END;
结果如下:
RESEARCH
SALES
3
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接