当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle数据库中数据如何存储

Oracle
Oracle常用dump命令,记录一下备查。
Oracle存储过程之数据库中获取数据实例
Oracle存储过程入门学习基本语法
java.sql.SQLException: 内部错误: Unable to construct a Datum from the specified input
Oracle 函数大全[字符串函数,数学函数,日期函数]
Oracle 自增(auto increment) 或 标识字段的建立方法
oracle 存储过程加密的方法
Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁
Oracle 忘记密码的找回方法
Oracle 数据库导出(exp)导入(imp)说明
oracle 常见等待事件及处理方法
Oracle9i 动态SGA,PGA特性探索
PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
ORACLE 数据库RMAN备份恢复
用Mimer Validator检查SQL查询
oracle执行cmd的实现方法
ORACLE 正则解决初使化数据格式不一致
Oracle 触发器的使用小结
oracle 时间格式的调整
Oracle 10g的DBA无法登录解决方案

Oracle数据库中数据如何存储


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 126 ::
收藏到网摘: n/a

 >>从一个表A的取得数据插入另一个表B中?

  (1)对于表A和表B两个表结构完全相同的话〔字段个数,相应字段的类型等等〕,可以使用


  INSERT INTO B SELECT * FROM A;
  INSERT INTO B(field1,field2,field3) select A.field1,A.field2,A.field3 from A;

  (2) 对于两个表如果字段数不一样,但是有几个字段的结构一样时〔类似于父子关系〕,必须使用 INSERT INTO B(field1,field2) select A.field1,A.field2 from A;

  1.用带参数的游标实现insert功能:


  CREATE OR REPLACE PROCEDURE GET_DATA(

  -- 参数列表:

  n_task_id IN number, --任务编号

  v_task_name IN varchar2, --任务名称

  v_name IN varchar2 -- 名称

  )

  -----------------------------------------------

  -- PROCEDURE名 :GET_DATA --

  -- 処理内容 :从数据源表取得符合条件的的数据插入到目标数据表: --

  -- 引数 :n_tas_id 任务ID, --

  -- v_task_namek 任务名称, --

  -- v_bdw_name 对数据源表限制条件:本地网名称 --

  -----------------------------------------------

  IS

  --插入行数控制

  i_count number(5);

 --取数据游标:DATA_CUR(IN_NAME)

  --参数:本地网名称:IN_NAME

  CURSOR DATA_CUR(IN_NAME VARCHAR2) IS /**注意:参数的定义中不带精度**/

  SELECT *

  FROM GET_DATA_SRC A

  WHERE A.NAME = IN_NAME;

  BEGIN

  --计数器,控制插入行数

  i_count := 0;

  --循环插入数据


  FOR MYCUR IN DATA_CUR(v_name) LOOP
  INSERT INTO ABC(
  ROW_ID,
  TASK_ID,
  TASK_NAME,
  GET_DATA_DT,
  CUST_ID,
  ASSIGN_FLAG,
  DEAL_DATE
  )VALUES(
  SEQ_KD.NEXTVAL,
  N_TASK_ID,
  V_TASK_NAME,
  SYSDATE,
  MYCUR.CUST_ID,
  'N',
  NULL
  );

 --程序试用阶段,以后会删除satrt


  i_count := i_count + 1;
  IF i_count >100 THEN
  COMMIT;
  RETURN;
  END IF;

  --程序试用阶段,以后会删除end

  END LOOP;

  --数据commit,程序调试阶段避免大量数据,暂时关闭

  --commit;

  --------例外处理部分----------------------------


  EXCEPTION
  WHEN OTHERS THEN
  rollback;
  END SRBZ_GET_SRBZ_KD_SPEED;
  /