Oracle存储过程之数据库中获取数据实例

2016-02-19 10:00 8 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - 编程语言 】

怎样才能将在表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
);

来源:http://www.tulaoshi.com/n/20160219/1592988.html

延伸阅读
1.在oracle中,数据表别名不能加as,如: select a.appname from appinfo a;-- 正确 select a.appname from appinfo as a;-- 错误 也许,是怕和oracle中的存储过程中的关键字as冲突的问题吧 2.在存储过程中,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别论了。 select af.keynode into kn from AP...
标签: Web开发
网页制作Webjx文章简介:AJAX可用来与数据库进行动态地通信。 AJAX可用来与数据库进行动态地通信。 AJAX数据库实例 在下面的AJAX例子中,我们将演示如何使用AJAX技术令网页从数据库读取信息。 在下面的框中选择一个名字 请选择一位客户:AlfredsFutterkisteNorth/SouthWolskiZajazd AJAX...
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。 创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下: CREATESEQUENCE序列名 [INCREMENTBYn] [STARTW...
这带来了很多好处,但是也要求学习一些新的概念、命令、使用和管理任务。所以在投入你的生产系统之前,看看它解决什么、管理什么,以及对它的正反面评价。 为什么创建它? 回答这个问题的最好方式是直接追溯源头,Bill Bridge——自动存储管理的最初架构师。在Oracle Press标题中的Oracle ASM,Bill提供了一个链接,他在那里讨论了使用...
过程和函数 过程和函数都以编译后的形式存放在数据库中,函数可以没有参数也可以有多个参数并有一个返回值。过程有零个或多个参数,没有返回值。函数和过程都可以通过参数列表接收或返回零个或多个值,函数和过程的主要区别不在于返回值,而在于他们的调用方式。过程是作为一个独立执行语句调用的: pay_involume(invoice_nbr,30,du...

经验教程

999

收藏

68
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部