oracle怎么写for Oracle怎么写trigger

请问这个oracle的for循环语句怎么写

如果是 1,2,3和1,2,3,4,5分别以整体的数据加到 table2中

创新互联公司凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了网站建设、成都网站制作服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。

declare

v_a table1.a%type;

v_str varchar2(2000);

begin

select a into v_a from table1;

for v_aa in 1..v_a loop

if(length(str)=0)then

str:=v_aa;

else

str:=str ||','|| v_aa;

end if;

end loop;

insert into table2 values(str);

end;

/

是分别循环加到table2中

declare

v_a table1.a%type;

begin

select a into v_a from table1;

for v_aa in 1..v_a loop

insert into table2 values(v_aa);

end loop;

end;

/

oracle 存储过程两个for循环 怎么写

这种情况必须定义行类型的变量来解决:

declare

row_data tb_student%ROWTYPE

for row_data in tb_student loop

update student st set st.class_name = row_data.class_name

where st.class_id = row_data.class_id

end loop;

但这样种循环更新效率确实很低,SQL是面向集合的运算,像你这种需求可以用一条更新SQL外加子查询来解决,不建议用循环来做。

Oracle循环的几种写法(GOTO 、FOR 、 WHILE 、LOOP)

一、GOTO循环用法

DECLARE

x number;

BEGIN

x := 9;

repeat_loop --循环点

x := x - 1;

dbms_output.put_line(x);

IF x 0 THEN

    GOTO repeat_loop;  --当x的值0时,就goto到repeat_loop

END IF;

END;

/*以上语句翻译如下:

declare 定义变量;

begin...end语句块

x 变量赋值

repeat_loop 设置循环点

循环内容

    x 变量递减

    按行打印 x

IF...END IF语句块

    IF...(条件) THEN :满足IF条件  则

    GOTO语句 前往循环点

*/

二、FOR循环用法

DECLARE

x number;

BEGIN

FOR i in 2..10 LOOP

    dbms_output.put_line(i);

END LOOP;

END;

--最简单的循环?

/*

declare 定义变量

begin...end语句块

for...loop...end loop; 语句

*/

三、WHILE循环用法

DECLARE

x number;

BEGIN

x :=5;

WHILE x 1 LOOP

    x := x - 1;

    dbms_output.put_line('循环内'||x);

END LOOP;

dbms_output.put_line('循环外'||x);

END;

/*

declare 定义变量

begin...end 语句块

while...loop...end loop; 语句

*/

四、LOOP循环用法

DECLARE

x number;

BEGIN

x :=0;

LOOP

      x := x + 1;

      EXIT WHEN x 9; --这里有个";"号

      dbms_output.put_line('内'||x);

END LOOP;

dbms_output.put_line('外'||x);

END;

/*

declare 定义变量

begin...end

x 变量赋值

loop...end loop语句

    exit when ...(条件) ;

*/

oracle存储过程怎么写循环

写循环的操作方法和步骤如下:

1、第一步,编写存储过程的整体结构,然后定义变量,见下图。

2、其次,完成上述步骤后,在定义变量后定义游标,begin,select sysdate into v_date from dual,end test_proc,如下图所示。

3、接着,完成上述步骤后,写一个for循环,游标开始for循环,为临时变量名任意起个名,输出一个字段,使用变量名.列名就好了,最后游标for循环就结束了,如下图所示。

4、最后,完成上述步骤后,试运行,单击“

DBMS Output”选项卡进行检查,运行成功,见下图。这样,问题就解决了。

oracle中如何用for语句完成

set serveroutput on;

declare

sum3 number :=0;

begin

for i in (select sal from emp where empno between 7000 and 8000) loop

sum3:=sum3+i.sal;

--dbms_output.put_line(i.sal);

end loop;

dbms_output.put_line('员工编号范围是7000到8000工资的和是'||sum3);

end;

/

--广科

Oracle存储过程游标for循环怎么写

procedure copy(a_id int) is

cursor t_cursor is

select * from table f where f.id = a_id;

v_row table%rowtype;

begin

for v_row in t_cursor loop

-- 处理数据

end loop;

end copy;


网站栏目:oracle怎么写for Oracle怎么写trigger
本文URL:http://scyanting.com/article/dooodps.html