zoukankan      html  css  js  c++  java
  • Oracle数组的创建和使用

    Oracle数组的创建

    参考链接:https://blog.51cto.com/baser/1411997

    点击查看一维数组示例代码
    -- Created on 2014-5-15 by ADMINISTRATOR
    DECLARE
        TYPE Arr1 IS VARRAY(10) OF NUMBER;
        Tab_1 Arr1;
        TYPE Arr2 IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
        Tab_2 Arr2;
    BEGIN
        -- Test statements here
        Tab_1 := Arr1(1, 3, 4, 6, 3, 2, 8, 5);
        FOR a IN 1 .. Tab_1.Count LOOP
            Dbms_Output.Put_Line(' ' || Tab_1(a));
        END LOOP;
        Tab_2(1) := 101;
        Tab_2(2) := 102;
        Tab_2(3) := 103;
        Tab_2(4) := 104;
        FOR b IN 1 .. Tab_2.Count LOOP
            Dbms_Output.Put_Line(' ' || Tab_2(b));
        END LOOP;
    END;
    

    这块得自己补充说明


    dbms_output.put_line输出问题

    参考链接:https://blog.csdn.net/fanbaodan/article/details/91492192
    按照上面链接学习数组的创建时,有put_line但是并没有输出结果。之后查询该方法,按照这个链接说明需要用set serveroutput on; 开启Oracle输出;管用。

    Oracle中数据的使用方法

    参考链接:http://blog.itpub.net/7416120/viewspace-1004282/

    注意一下这句话
    execute immediate ssql using iUserNum,sPower;
    和他之前的
    ssql := 'Insert into TBBCUSERSYSPOWER(USERNUM,SYSPOWERCODE) Values(:Variant1;:Variant2)';

    在自己改程序的时候先修改了using之后的两个变量,然后根据报错信息一点一点修改程序(前两步)。在之后根据需要多练习(之后)

    • 在for i in 1 .. tab_1.count loop里添加上面那句execute
    • ssql没有定义→declare后面补充定义:ssql VarChar2(4096)
    • 之后再修改程序的时候在以下几个地方报错:
      • ssql := 'insert into table_name(出错的地方之一) values(出错的地方之二);'
      • execute immediate ssql using tab_1(1),出错的地方之一
      • 以上那几个一般都是少些参数了,多谢参数了,表格的名字缺个字符了啥的
    • 除了这些之外,再将execute放到循环外,试一试,没毛病。

    有关Oracle中的定义:define/declare/variable另起笔记

    橘子Jane
  • 相关阅读:
    FirstBlood溢出攻击
    ShellCode
    OD分析-熊猫烧香
    IDA分析-熊猫烧香
    PentestBOX教程
    安全从业人员常用工具指引-freebuf
    安全从业人员常用工具指引
    Python 网络编程
    10个免费的游戏开发引擎
    用树莓派搭建你自己的Web服务器,以及一个可以外网访问的Blog
  • 原文地址:https://www.cnblogs.com/Jane-share/p/15480186.html
Copyright © 2011-2022 走看看