精华内容
下载资源
问答
  • oracle插入数据脚本

    千次阅读 2018-04-27 14:23:19
    这篇主要讲oracle插入数据的两种方式,一种是.sql文件,一种是shell脚本本文数据是在linux环境下测试的一、sql文件方式1、新建.sql文件vi test_insert.sql2、编辑脚本我这里写的是循环向数据库中插入脚本,脚本中...

    这篇主要讲oracle插入数据的两种方式,一种是.sql文件,一种是shell脚本本文数据是在linux环境下测试的

    一、sql文件方式

    1、新建.sql文件vi test_insert.sql

    2、编辑脚本我这里写的是循环向数据库中插入脚本,脚本中什么语句都可以写

    create smallfile tablespace AA1 datafile '/opt/AA1.dbf' size 2g autoextend on next 1g maxsize 5g;
    create table test1(n number,
    id char(2000),
    shijian timestamp) tablespace AA1;
    declare
    i number;
    begin
          i := 1;
          while i<100000 loop
          insert into test1  values(i,TO_CHAR('1.89'+i),sysdate);
          commit;
          Dbms_Lock.sleep(1);
          i := i+1;
          end loop;
    end;
    /

    写循环注意最后一行的/一定要有,/表示结束符,题主因为没有写/,脚本一直执行不成功,搞了好久,其实是个很小的问题

    3、执行.sql文件SQL>@/opt/test_insert.sql

    二、shell脚本

    1、新建脚本文件直接输入命令vi test.sh就可以

    2、在脚本中输入以下命令

    su – oracle <<EOF
    sqlplus / as sysdba <<EOF
    drop table a1;
    create table a1(n number);
    insert into a1 values(100);
    commit;
    exit;

    EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell

    如果想循环插入数据,先编写一个循环插入数据的sql文件(同一中的insert.sql),然后在shell中执行sql文件就可以

    su - oracle<<EOF
    sqlplus / as sysdba<<EOF
    @/eisoo/insert.sql
    exit;
    EOF

    3、赋予脚本相应权限chmod 775 test.sh

    4、执行脚本./test.shsh -x test.sh (可查看脚本输出信息)bash -v test.sh(可查看脚本输出信息)./test.sh &(后台运行脚本)关于其他脚本运行方式可参考这篇博文http://www.cnblogs.com/Javame/p/3582885.html

    展开全文
  • Oracle插入数据

    万次阅读 2019-04-03 11:26:14
    1、创建表格并指定结构 CREATE TABLE DB3.STUINFO( STUID INT, STUNAME VARCHAR(10), SEX INT, AGE INT, CLASSNO VARCHAR(10), STUADDRESS VARCHAR(10), ...2、插入数据 规范用法 INSE...

    1、创建表格并指定结构

    CREATE TABLE DB3.STUINFO(
    STUID INT,
    STUNAME VARCHAR(10),
    SEX INT,
    AGE INT,
    CLASSNO VARCHAR(10),
    STUADDRESS VARCHAR(10),
    GRADE INT,
    ENROLDATE DATE,
    IDNUMBER VARCHAR(20));
    

    2、插入数据

    规范用法

    INSERT INTO table(col1,col2...) VALUES(value1, value2...)
    

    如:

    INSERT INTO DB3.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),
     '3503021992XXXXXXXX');
    

    可以发现数字即便加上引号,Oracle也能智能识别。

    当前后一一对应时也可省略table后的列名声明:

    INSERT into DB3.STUINFO 
    values (2, '龙八', 1, 25, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    

    省略列名声明的情况下,前后类型不对应或缺失信息时将报错。

    指定列名时,未指定值的列默认填充为null:

    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    

    在这里插入图片描述

    也可在创建表结构的同时为列指定默认值,当无对应输入时自动填充:

    CREATE TABLE a (
    id INT,
    name CHAR(10) default 'a',
    class INT NOT NULL
    );
    
    INSERT INTO a
    VALUES (1,NULL,1);
     
    INSERT INTO a (id,class)
    VALUES (1,1);
    

    可得到:
    在这里插入图片描述

    3、可与子查询合用

    INSERT INTO a(id,class)
    VALUES ((SELECT STUID FROM STUINFO WHERE STUNAME='龙七'),2);
    

    在这里插入图片描述

    STUINFO构建总命令:

    CREATE TABLE DB3.STUINFO(
    STUID INT,
    STUNAME VARCHAR(10),
    SEX INT,
    AGE INT,
    CLASSNO VARCHAR(10),
    STUADDRESS VARCHAR(10),
    GRADE INT,
    ENROLDATE DATE,
    IDNUMBER VARCHAR(20));
    
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),
     '3503021992XXXXXXXX');
      
    INSERT into DB3.STUINFO 
    values (2, '龙八', 1, 25, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (3, '龙九', 2, 23, '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE,CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (3, '龙九', 2, 23, 'C201702', '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE,CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (4, '龙十', 2, 23, 'C201702', '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
    
    展开全文
  • 解决oracle插入数据中文乱码

    千次阅读 2019-09-27 10:59:10
    在做oracle输入数据时乱码了 insert into person (pid,pname) values(1,'小明'); select * from person; 中文乱码问题解决: 1.查看服务器端编码 select userenv('language') from dual; 我实际查到的结果为:...

    在做oracle输入数据时乱码了

    insert into person (pid,pname) values(1,'小明');
    

    select * from person;
    在这里插入图片描述

    中文乱码问题解决:

    1.查看服务器端编码

    select userenv('language') from dual;
    

    在这里插入图片描述
    我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK

    2.执行语句 select * from V$NLS_PARAMETERS

    select * from V$NLS_PARAMETERS 
    

    查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。
    如果不是,需要设置环境变量.
    否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.

    在这里插入图片描述
    我的是AMERICAN 与第一步的不一样,需要配置环境变量

    3.设置环境变量

    计算机->属性->高级系统设置->环境变量->新建
    设置变量名:NLS_LANG,变量值:第1步查到的值, 我的是 AMERICAN_AMERICA.ZHS16GBK
    在这里插入图片描述

    4.重新启动PLSQL,插入数据正常

    在这里插入图片描述

    展开全文
  • oracle插入数据无权限

    千次阅读 2019-03-05 11:27:22
    最近使用oracle12c数据库插入数据出现提示无空间权限。在网上找了一些资料发现是创建用户时候没有赋予对应的空间限额,解决办法如下https://blog.csdn.net/leftfist/article/details/79654651 ...

    最近使用oracle12c数据库插入数据出现提示无空间权限。在网上找了一些资料发现是创建用户时候没有赋予对应的空间限额,解决办法如下https://blog.csdn.net/leftfist/article/details/79654651

    展开全文
  • python向oracle插入数据

    2016-11-04 01:55:09
    我用python生成一个dataframe然后转换成list通过cursor的方法插入数据, 但是插入数据时总是报错"expect string,unicode or buffer object" 最后执行插入的代码片段如下 ``` def insert2sql(table,table_list,...
  • oracle插入数据报ORA-00001:违反唯一约束条件
  • Oracle 插入数据添加 COMMIT 提交

    千次阅读 2020-09-01 21:43:14
    问题场景: 往Oracle表中插入数据,仅在当前执行插入SQL的窗口可以查到数据,切换窗口后查不到最新插入的数据 产生原因: Oracle的自动提交默认是关闭的 错误写法: 这样的SQL, 在其他窗口或者关闭该窗口后查询不到新增的...
  • oracle插入数据自增id

    千次阅读 2020-07-08 15:42:58
    begin select SEQ_MSG_PUSH_RECORDS.nextval into :new.ID from dual; end T_MESSAGE_RECORDS_ID_TRIGGER;
  • 插入数据时获取自增ID,使用序列,需要在插入数据时,自增字段插入序列下一个值
  • oracle插入大量数据优化方式

    千次阅读 2019-02-19 23:52:46
    1. 使用绑定变量优化插入速度 未优化前代码如下 create table t(x int); create or replace procedure proc1 as begin for i in 1 .. 100000 loop execute immediate 'insert into t values('||i||')'; commit...
  • Oracle 循环插入数据

    千次阅读 2019-09-24 18:52:00
    Oracle中,为一个表循环插入数据,为了开发方便,我们不会让其数据全部一样,在这里总结一下,如何插入能够符合自己开发需求的数据。 1. 首先介绍一下varray,即我们将会用到的在Oracle中数组的概念。 Oracle中...
  • oracle插入数据

    2013-12-20 17:03:37
    这个文件是用oracle的脚本的如的,往oracle插入数据量可能会使用
  • oracle插入数据需要commit提交

    千次阅读 2020-03-31 19:40:55
    oracle的commit就是提交数据,在未提交前你前面的操作时,更新的都是内存,没有更新到物理文件中。所以未commit就关掉数据库,数据库中的数据并没有更新。  commit的提交针对的是:DML DML(Data Manipulation ...
  • Oracle插入大量数据

    千次阅读 2019-03-10 19:52:30
    Oracle 插入大量数据https://blog.csdn.net/tianlesoftware/article/details/4745144版权声明: https://blog.csdn.net/tianlesoftware/article/details/4745144 1. 采用高速的存储设备,提高读写能力,如:EMC ...
  • oracle 插入数据报错 too many values

    千次阅读 2020-02-23 12:16:57
    最近在批量插入数据时 , Oracle竟然报错 too many values 异常. 也找不到哪里的原因 后来发现 在定义表结构时, 插入的数据格式不一致. 文件中的字段值之间是逗号分割的, 表结构定义字段是tab分割 正确的写法: ...
  • oracle插入数据前判断是否存在

    千次阅读 2014-06-05 11:11:11
    插入数据前如果bucundeclare num number; begin select nvl(count(1), 0) into num from hts_employee where ID = 522; --set serveroutput on; --dbms_output.put_line(num); if num = 0 then insert into h
  • 多线程往oracle插入数据

    千次阅读 2014-10-14 22:31:30
    private static String driverName = "oracle.jdbc.OracleDriver"; private static final List ts = new ArrayList(); static{ try { Class.forName(driverName); } catch (ClassNotFoundException e...
  • oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本。
  • 为什么在oracle中insert数据时,跑了两天,显示DONE,插入13亿行 但是select这张表时返回为0行
  • Oracle插入timestamp类型数据

    千次阅读 2018-11-14 08:31:57
    Oracle插入timestamp类型数据
  • ![图片说明](https://img-ask.csdn.net/upload/201706/11/1497158938_971459.png) ![图片说明](https://img-ask.csdn.net/upload/201706/11/1497158948_726366.png) 并且查询count为0; 是建表语句有问题? !...
  • Oracle批量插入数据

    万次阅读 2018-04-25 09:56:29
    一条SQL语句批量插入数据到数据库:(1)INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;(2)多个INSERT INTO VALUEES(各个值);以“;”隔开一同执行以上两种方法Oracle和SQL Server都不支持,MySQL支持 ...
  • 当我们进行测试数据或者进行某种大数据量的时候,可以用一下语句进行大批量插入, 通过我的测试,10万条数据插入时间为7秒左右,100万条记录插入时间为65秒,200万插入为150秒。.../* 插入数据 */ insert i.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,689
精华内容 84,675
关键字:

oracle插入数据方式