declare
--类型定义
strsql string(500);
v_ErrorCode NUMBER; -- Variable to hold the error message code
v_ErrorText VARCHAR2(200); -- Variable to hold the error message text
cursor c_eventstate
is
Select CampaignId,phonenumber,PolicyNumber from mkt_eventstate a where synstate =0 and packagestate = 2 and errorcode = 6;
--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型
c_row c_eventstate%rowtype;
begin
for c_row in c_eventstate loop
begin
strsql:=‘select * from mkt_userprizeinfo t where t.campaignid=‘||c_row.CampaignId||‘ and t.userid=‘||c_row.phonenumber||‘ and t.PolicyNumber=‘‘‘||c_row.PolicyNumber||‘‘‘‘;
execute immediate strsql ;
dbms_output.put_line(c_row.CampaignId||‘-‘||c_row.phonenumber||‘-‘||c_row.PolicyNumber);
-- RAISE_APPLICATION_ERROR(-20001,‘数值不能为0‘);
EXCEPTION
--捕捉异常
WHEN others THEN
begin
v_ErrorCode := SQLCODE;
v_ErrorText := SUBSTR(SQLERRM, 1, 200);
DBMS_OUTPUT.put_line(‘捕获了错误begin‘);
dbms_output.put_line(c_row.CampaignId||‘-‘||c_row.phonenumber||‘-‘||c_row.PolicyNumber||‘-‘||v_ErrorCode || ‘::‘||v_ErrorText);
DBMS_OUTPUT.put_line(‘捕获了错误end‘);
end;
end;
end loop;
end;
oracle 游标循环, 查询,异常捕获,继续执行
时间: 2024-10-12 06:34:14
oracle 游标循环, 查询,异常捕获,继续执行的相关文章
Oracle游标-循环查询表中数据(表名),并执行
Oralce 表中存有一个字段,该字段存储表名,要把该表中的所有表名查询出来(即表名结果集),且执行结果集from 表名结果集: declare v_ccount varchar2(100); --定义一个游标变量 cursor c_job is --查询该表中的所有表名 select tablename from tbname; c_row c_job%rowtype; begin --循环待处理数据,即以上查出的结果集 for c_row in c_job loop ---执行语句 from
ORACLE游标循环【转】
ORACLE游标循环有几种用法,下面分别介绍一下. 首先定义游标和变量 CURSOR C1 IS SELECT eNAME,ejob FROM emp WHERE deptno=10; v_NAME VARCHAR2(10); v_job VARCHAR2(10); 第一种:使用loop 循环 open c1; loop fetch c1 into v_name,v_job ; exit when c1%notfound; …… end loop colse c1; 这里需要注意,exit w
Oracle游标循环更新数据案例
declare v_XTXMBH number; v_ZJZJZJRQ varchar2(40); cursor c_job is SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZJZJRQ AS ZJZJZJRQ FROM XTXMXX XT, QJGLXX_ZQL_MID QJ WHERE XT.XTXMBH = QJ.XTXMBH AND XT.XTXMCLRQ >= '20120630' AND (QJ.ZJQHZJRQ IS NULL OR QJ.ZJZJZJRQ
oracle 游标循环中 捕获异常 继续执行
declare --类型定义 cursor c_eventstate is Select CampaignId,phonenumber,PolicyNumber from mkt_eventstate a where synstate =0 and packagestate = 2 and errorcode = 6; --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型
oracle游标:查询并打印员工的姓名和薪水
--查询并打印员工的姓名和薪水 --set serveroutput on /* 1.光标的属性 %found:如果取到了记录就是true否则是false: %notfound: */ declare --定义一个光标 cursor cemp is select ename,sal from emp; --为光标定义对应的变量 pename emp.ename%type; psal emp.sal%type; begin --打开光标 open cemp; loop --取一条记录 into后面
21. oracle游标循环例子
create or replace procedure sp_addProjectQj( ret out number, flowid in number --流程Id) ascursor c_design is select * from LC_VR_Detail where lc_crm_visitreport_Id = flowid and dd_status != 2; c_row c_design%rowtype; v_id number;begin for c_row in c_de
oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理和自定义异常
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁 盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率.游标有两种类型:显式游标和隐式游标.在前述程序中用到的SELECT...INTO...查询语句,一次只能从数据库中提取一行数据,对于这种 形式的查询和DML操作,系统都会使用一个隐式游标.但是如果要
ORACLE 11G在存储过程里面遍历游标, 调用job任务定时执行
ORACLE存储过程里游标遍历.调用job定时执行 1,第一种使用For 循环 for循环是比较简单实用的方法. 首先,它会自动open和close游标.解决了你忘记打开或关闭游标的烦恼. 其次,自动声明一个记录类型及定义该类型的变量,并自动fetch数据到这个变量. 注意C_ROW 这个变量无需要在循环外进行声明,无需为其指定数据类型.它是一个记录类型,具体的结构是由游标决定的. 这个变量的作用域仅仅是在循环体内. 最后,与该游标关联的所有记录都已经被取回后,循环无条件结束,不必判定游标的%N
js 基础 -- 循环、函数调用 、全局和局部变量、异常捕获、事件
一:循环 for for in <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>循环</title> <meta name="viewport" conte