易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle中的数组

2010-04-21 14:04
oracle中构造数组的例子:
declare
type t_varray is varray(4) of number;
arr t_varray;
begin
arr := t_varray(1,2,3,4);
for i in 1..arr.count loop
    dbms_output.put_line(arr(i));
end loop;
end;
    构造二维数组的例子:
declare
type t_varray is varray(4) of number;
type t_varray_varray is varray(3) of t_varray;
arr t_varray;
v_arr t_varray_varray;
begin
arr := t_varray(1,2,3,4);
v_arr := t_varray_varray(arr,arr,arr);
for i in 1..v_arr.count loop
    for j in 1..v_arr(i).count loop
        dbms_output.put(v_arr(i)(j));
        if (j = v_arr(i).count) then
          dbms_output.put_line('');
        end if;
    end loop;
end loop;
end;
    除了使用varray,还可以使用索引表构造数组。使用索引表定义数组,不需要指定数组的上限,数组的大小只与内存限制有关。而且索引组织表定义是指定的索引项并不一定要是数值。(下一个例子是sys用户中的例子)
DECLARE
TYPE T_TAB IS TABLE OF NUMBER INDEX BY VARCHAR2(30);
V_VAR T_TAB;
V_STR VARCHAR2(30);
BEGIN
FOR I IN (SELECT OWNER, COUNT(*) CN from DBA_TABLES GROUP BY OWNER) LOOP
    V_VAR(I.OWNER) := I.CN;
END LOOP;
V_STR := V_VAR.FIRST;
WHILE (V_VAR.EXISTS(V_STR)) LOOP
    DBMS_OUTPUT.PUT_LINE(RPAD(V_STR, 20, ' ') || ':' || V_VAR(V_STR));
    V_STR := V_VAR.NEXT(V_STR);
END LOOP;
END;
    如果构造二维以上的数组,且维度不全是数值,那么就需要注意了:
DECLARE
TYPE T_NUM_TAB IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE T_VAR_TAB IS TABLE OF NUMBER INDEX BY VARCHAR2(10);
TYPE T_NUM_VAR IS TABLE OF T_NUM_TAB INDEX BY VARCHAR2(10);
TYPE T_VAR_NUM IS TABLE OF T_VAR_TAB INDEX BY BINARY_INTEGER;
V_NUM_VAR T_NUM_VAR;
V_VAR_NUM T_VAR_NUM;
BEGIN
V_NUM_VAR(5)('A') := 1;
V_VAR_NUM('A')(5) := 1;
END;
 &nbs


相关文档:

Oracle用户管理

oracle用户管理
                           
                     ......

移植SQL server数据库对象到Oracle的操作说明

以下是摘自Oracle官网:
Ⅰ Oracle SQL Developer 是一个免费的图形化数据库开发工具。使用 SQL Developer,您可以浏览数据库对象、运行 SQL 语句和 SQL 脚本,并且还可以编辑和调试 PL/SQL 语句。您还可以运行所提供的任何数量的报表,以及创建和保存您自己的报表。SQL Developer 可以提高工作效率并简化数据库开发任务。 ......

oracle启动问题一般解决方法

oracle启动问题
一:数据库没有启动
#sqlplus /nolog
sql>connect /as sysdba
sql>startup
 
二:监听出问题
登录DB服务器
使用lsnrctl start/stop开启/关闭监听
使用lsnrctl status查看状态
理应为:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ERPAP)(PORT=1521)))
STATUS of the ......

在Windows 7 下安装 Oracle 10g 过程

(红色部分为修改内容)
第一步,在磁盘下建一个文件夹,注意不要有空格,否则oracle安装时会出现警告。
第二步,用于进入安装界面后,检测环境在安装文件夹里搜索 "refhost.xml",共2个文件。
用记事本打开,看到
 <!--Microsoft Windows vista-->
  <OPERATING_SYSTEM>
  &l ......

连接Oracle数据库的Hibernate配置文件

连接Oracle数据库的Hibernate配置文件
连接Oracle的Hibernate配置文件有两种格式,一种是xml格式的,另一种是Java属性文件格式的。下面分别给出这两种格式配置文件的代码。
1.xml格式的配置文件
下面将给出连接本地Oracle服务器上的db_database02数据库时Hibernate配置文件hibernate.cfg.xml的代码。
例程2-5:光盘\mr ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号