dkfr.net
当前位置:首页 >> orAClE存储过程批量执行 >>

orAClE存储过程批量执行

使用一个循环 begin for r in (select a1,b1 from tt where 条件)loop --执行a a(r.a1,r.b1); end loop end;

这样试试: 在sqlplus 下: set echo off; set heading off; set feedback off; spool c:\proc.txt --1、用sys用户等陆的话: select text from dba_source where owner='YOUR_USER' and type ='PROCEDURE'; --2、用一般用户(要导出其下存储过程...

可通过以下方法: 以100条数据为例,如果海量数据可参考。 如test表中有如下数据: 现要将begintime改成当前时间,每10条提交一次。 可用如下存储过程: declare i int;--定义变量v_count int;--定义变量v_loop int;--定义变量begin select coun...

其实二楼写的最简单,但对于新手,最好别那么写,至于1楼,如果数据不是很多,没必要搞个游标。你也可以看看我写的 create or replace procedure P_Update(o_vc_message out varchar2) is type column1 is table of table1.column1%type index b...

declare sql_tem Varchar2(4000); a number; b number; i number; begin a := 1; for i in 1 .. 3 loop b := a + 4; sql_tem := 'insert into A2 (ID,NAME) (select ID,NAME from A1 WHERE ROWNUM between :1 and :2)'; EXECUTE IMMEDIATE sql_t...

您好!可以这样做: create or replace procedure execmorepro as begin procedure1; procedure2; procedure3; procedure4; end; 如果要自动执行,再加个job,执行这个过程就行了。 希望能帮助到您。

用job oracle定时器调用存储过程 1.创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表 Sql代码 create table job_table(run_time date); create table job_table(run_time date); 2.创建存储过程 Sql代码 create or repl...

1.批量编译存储工程的存储过程 create or replace procedure compile_invalid_procedures( p_owner varchar2 -- 所有者名称,即 SCHEMA) as--编译某个用户下的无效存储过程 str_sql varchar2(200);begin for invalid_procedures in (select obje...

Oracle批量导出存储过程 法一: PL/SQL工具导出 法二: Sql代码 SET echo off; SET heading off; SET feedback off; spool C:\Documents and Settings\Administrator\桌面\proc.sql;--1、用sys用户等陆的话: Sql代码 select text from dba_source...

你这样属于2个事务在操作一个表。如果表中有唯一键,会有一个过程失败的。如果没有唯一键,会写入20000条记录。但是如果存储过程里操作的表是动态传进去的。如果表名不同,同时执行多个这个存储过程是没有影响的。

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com