例子中的语句使用动态SQL创建了一个存储过程

将单引号 '改写为两个单引号 ''

BEGIN

EXECUTE IMMEDIATE 'create or replace PROCEDURE SMDP_CLEAN_SUBSCRIPTIONS AS

CURSOR subscriptions_cur

IS

SELECT * FROM SMDP_SUBSCRIPTIONS where N_STATUS = 5;

TYPE subscriptions_aat IS TABLE OF subscriptions_cur%ROWTYPE

INDEX BY PLS_INTEGER;

l_subscriptions subscriptions_aat;

limit_in Number(10,0);

STATUS_LOADED integer :=3;

STATUS_ERROR integer :=4;

STATUS_GARBAGE integer :=5;

CURSOR CUR_SUB is

-- ALL subscriptions with status LOADED (=> check if their profile are still in DEMO mode)

select s.N_SUBSCRIPTION_ID, s.N_STATUS, p.C_MNO_TRIGRAM, p.C_PROFILE_ID

from SMDP_SUBSCRIPTIONS s, SMDP_SUBSCRIPTION_PROFILES p where (s.N_STATUS=STATUS_LOADED or s.N_STATUS=STATUS_ERROR) and p.N_SUBSCRIPTIONPROFILE_ID=s.N_SUBSCRIPTIONPROFILE_ID;

TYPE res_table IS TABLE OF CUR_SUB%ROWTYPE;

res res_table;

oaps_param varchar2(40);

oaps_value varchar2(40);

BEGIN

OPEN CUR_SUB;

FETCH CUR_SUB BULK COLLECT INTO res;

FOR indx IN 1 .. res.COUNT LOOP

oaps_param:=''profile.''||res(indx).C_MNO_TRIGRAM||''.''||res(indx).C_PROFILE_ID||''.mode'';

dbms_output.put_line(''id=''||res(indx).N_SUBSCRIPTION_ID||'' status=''||res(indx).N_STATUS||'' oaps=''||oaps_param);

-- Get OAPS parameter associated with its profile

begin

oaps_value := ''PROD'';

select UPPER(C_PARAM_VALUE) into oaps_value from OAPS_PARAMETERS where C_PRODUCT_TYPE=''SMDP'' and C_PARAM_NAME=oaps_param;

dbms_output.put_line(''FlagMode=''||oaps_value);

-- if no param found, (PROD, DEMO or PROD_RETRY??), do nothing...

exception when NO_DATA_FOUND then null;

end;

-- if subscription is as LOADED and not in demo mode then set the status to READY_TO_GARBAGE

IF oaps_value <> ''DEMO'' THEN

update SMDP_SUBSCRIPTIONS set N_STATUS=STATUS_GARBAGE where SMDP_SUBSCRIPTIONS.N_SUBSCRIPTION_ID=res(indx).N_SUBSCRIPTION_ID;

dbms_output.put_line(''Set to GARBAGE'');

END IF;

end loop;

CLOSE CUR_SUB;

limit_in := 1000;

OPEN subscriptions_cur;

LOOP

FETCH subscriptions_cur

BULK COLLECT INTO l_subscriptions LIMIT limit_in;

FORALL indx IN 1 .. l_subscriptions.COUNT

delete from SMDP_SUBSCRIPTIONS where N_SUBSCRIPTION_ID = l_subscriptions(indx).N_SUBSCRIPTION_ID;

commit;

FORALL indxDiversified IN 1 .. l_subscriptions.COUNT

delete from SMDP_DIVERSIFIED_SCRIPTS where N_SUBSCRIPTION_ID = l_subscriptions(indxDiversified).N_SUBSCRIPTION_ID;

commit;

EXIT WHEN l_subscriptions.COUNT < limit_in;

END LOOP;

CLOSE subscriptions_cur;

END SMDP_CLEAN_SUBSCRIPTIONS;';

END;

oracle execute immediate 单引号嵌套,Oracle EXECUTE IMMEDIATE语句里面的引号处理相关推荐

  1. oracle 单引号 逗号,Oracle中的单引号(转义)

    转:https://blog.csdn.net/learning_oracle_lh/article/details/46639507 ORACLE单引号转义: **在ORACLE中,单引号有两个作用 ...

  2. oracle 多个单引号,oracle多个单引号的处理

    oracle多个单引号的处理 oracle多个单引号的处理 在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义.单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好 ...

  3. JS单引号嵌套的问题,怎么改才能对呢!

    JS单引号嵌套的问题,怎么改才能对呢! https://zhidao.baidu.com/question/416584343.html document.getElementById(celbid) ...

  4. oracle 去掉前后的引号,Oracle中的 单引号 和 双引号

    在Oracle中: 双引号的作用是:假如建立对象的时候,对象名.字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写. 而单引号则示意:这个加了单引号的字段是一个字类似字符串 ...

  5. Linux shell命令中双引号与单引号嵌套的问题

    addr="192.168.0.111" echo "'$addr'" 结果为 '192.168.0.111' echo '"$addr"' ...

  6. python语言中有3种表示字符串的方式、单引号和_Python中三种类型的引号(单引号、双引号、三引号)...

    当向Python输入一个字符串时,要将字符串放到引号中,Python含有三种类型的引号: 单引号形式:'  ' 双引号形式:"  " 三引号形式:'''   ''' (三个单引号组 ...

  7. java里单引号怎么打出来_如何在单引号引起来的字符串中转义单引号

    假设您有一个Bash alias例如: alias rxvt='urxvt' 效果很好. 然而: alias rxvt='urxvt -fg '#111111' -bg '#111111'' 将不起作 ...

  8. oracle工作每月1号,利用oracle定时任务生成每月从1开始的流水号

    --创建序列 --入库 create sequence rk_seq; --出库 create sequence ck_seq; --移库 create sequence yk_seq; --创建存储 ...

  9. oracle如何写不等于号,Oracle中不等于号问题-Oracle

    在Oracle中,不等于号有以下几种方式: <>,!=,^= 测试SQL create table test( id int, name varchar2(10), age int ) i ...

最新文章

  1. StackOverflow上面 7个最好的Java答案
  2. Win10环境下,在Matlab R2016a上的SPM12安装教程
  3. 皮一皮:这才是书法的最高境界...
  4. Rsync命令参数详解
  5. java字符串的替换replace、replaceAll、replaceFirst的区别
  6. index.php?s=$1,thinkphp nginx配置rewrite,地址会多出个.php
  7. 团队竞争力有多强,你的企业就能走多远
  8. Flink 在又拍云日志批处理中的实践
  9. java安全编码指南之:可见性和原子性
  10. 使用TargetSources
  11. 【codevs2301】【BZOJ2186】沙拉公主的困惑,数论练习之逆元与φ
  12. 如何在revit中管理CAD的图层?
  13. php ziparchive 类不存在,php – 致命错误:类’ZipArchive’中找不到
  14. 使用计算机眼睛保护方法有哪些,​计算机族的“护眼诀窍”
  15. Windows 10微软应用商店打不开问题解决方案
  16. 正则匹配中英文全部特殊符号
  17. 计算星期几--C语言
  18. 计算机文件管理评课稿,城沙二小《整理文件》评课稿
  19. TI 高精度实验室《运算放大器系列--稳定性分析》
  20. 2020年度十大流行语

热门文章

  1. 第二十四次发博不知道用什么标题好
  2. 最新 GitHub 上传本地项目代码 (main) (2022 更新)
  3. python多进程写文件阻塞
  4. 叉车安全的重要性不容忽视,浅谈叉车安全要求
  5. 视频教程-C# For Unity系列之基础篇-Unity3D
  6. GNSS无人机编队表演方案
  7. VUE3+Ts使用高德地图组件@vuemap/vue-amap语法检测Amap is not defind
  8. Java之HTTP编程
  9. 联想A66t手机修改网络选择
  10. BDB 事务篇 第4章 Concurrency 并发