create or replace procedure PRO_DelArticles
(
ArticleId in varchar2
)
is ArticleNum varchar2(20);
sqlstr1 varchar2(2000);
sqlstr2 varchar2(2000);
sqlstr3 varchar2(2000);
sqlstr4 varchar2(2000);
sqlstr5 varchar2(2000);
glcount number;/*获取文章附件关联表数据行数*/
num varchar2(20);
/* TYPE c1 IS REF CURSOR;
temp_cursor c1;*/
/* actmfile_rec temp_cursor%ROWTYPE;*/ begin /*del文章*/
sqlstr1:='delete from zs_articles where articleid='''||ArticleId||'''';
EXECUTE IMMEDIATE sqlstr1 into ArticleNum;
/*del文章明细*/
sqlstr2:='delete from zs_articlesdetail where articlenum='''||ArticleNum||'''';
EXECUTE IMMEDIATE sqlstr2;
/*获取文章附件关联表数据行数*/
sqlstr4:='select count(*) from zs_articles_and_enclosure where articlenum='''||ArticleNum||'''';
EXECUTE IMMEDIATE sqlstr4 into glcount; num:=ArticleNum;
/*游标遍历删除附件表数据*/
declare
cursor file_cursor is
select FILENUM from zs_articles_and_enclosure
where articlenum=num;
file_rec file_cursor%ROWTYPE;
begin /*嵌套开始*/
if not file_cursor%isopen then
open file_cursor;
end if;
while file_cursor%found
loop
sqlstr5:='delete from zs_attachment where filenum='''||file_rec.filenum||'''';
EXECUTE IMMEDIATE sqlstr5;
/*fetch file_cursor into file_rec;*/
end loop;
end; /*嵌套结束*/ /*文章附件关联表存在相关数据则删除数据*/
if(glcount>0) then
sqlstr3:='delete from zs_articles_and_enclosure where articlenum='''||ArticleNum||'''';
EXECUTE IMMEDIATE sqlstr3;
end if;
end PRO_DelArticles;

  

oracle procedure存储过程(pl/sql)_使用declare cursor_begin end嵌套的更多相关文章

  1. Oracle数据库之PL/SQL过程与函数

    Oracle数据库之PL/SQL过程与函数 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据 ...

  2. Oracle数据库之PL/SQL程序设计简介

    PL/SQL程序设计简介 一.什么是PL/SQL? PL/SQL是 Procedure Language & Structured Query Language 的缩写. ORACLE的SQL ...

  3. oracle数据库之PL/SQL 块结构和组成元素

    一.PL/SQL 块 (一)PL/SQL 程序由三个块组成,即声明部分.执行部分.异常处理部分 PL/SQL 块的结构如下: 1.DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量, ...

  4. Oracle数据库之PL/SQL触发器

    Oracle数据库之PL/SQL触发器 1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是 ...

  5. Oracle数据库之PL/SQL包

    Oracle数据库之PL/SQL包 1. 简介 包(PACKAGE)是一种数据对象,它是一组相关过程.函数.变量.常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来 ...

  6. oracle系列(四)PL/SQL

    过程,函数,触发器是PL/SQL编写的,存储在oracle中的.PL/SQL是非常强大的数据库过程语言. PL/SQL优点:性能,模块化,网络传输量,安全性缺点:移植性不好 简单分类:块:过程,函数, ...

  7. ORACLE中的PL/SQL

    一. 1.过程,函数,触发器是pl/sql编写.                2. 过程函数触发器是在Oracle中.                      3.pl/sql是非常强大的数据库过 ...

  8. 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

    本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...

  9. Oracle数据库之PL/SQL异常处理

    Oracle数据库之PL/SQL异常处理 异常指的是在程序运行过程中发生的异常事件,通常是由硬件问题或者程序设计问题所导致的. PL/SQL程序设计过程中,即使是写得最好的程序也可能会遇到错误或未预料 ...

随机推荐

  1. 【剑指offer 面试题15】链表中倒数第K个结点

    思路: 定义两个指针同时指向head,第一个指针先走K-1步,随后二个指针同时移动,当第一个指针到末尾处时,第二个指针所指向的即为倒数第K个结点. #include <iostream> ...

  2. 【LeetCode 215】Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  3. ORA-12162: TNS:net service name is incorrectly specified

    今天在进行修改oracle_sid环境变量的时候,将相关的环境变量值去掉,从而不能进入sqlplus,报错如下: [oracle@kel ~]$ sqlplus / as sysdba SQL*Plu ...

  4. 常用的CSS Hack技术集锦

    来源:http://www.ido321.com/938.html 一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Ha ...

  5. [转]sublime 使用技巧总结

    原文链接:http://www.cnblogs.com/yingzi/archive/2012/04/24/2469056.html 对于用惯了editplus的人来说,突然接触到sublime有点无 ...

  6. UVALive 7325 Book Borders (模拟)

    Book Borders 题目链接: http://acm.hust.edu.cn/vjudge/contest/127407#problem/B Description A book is bein ...

  7. ZOJ 3911 Prime Query(线段树)

    Prime Query Time Limit: 1 Second      Memory Limit: 196608 KB You are given a simple task. Given a s ...

  8. [iOS UI进阶 - 2.1] 彩票Demo v1.1

    A.需求 1.优化项目设置 2.自定义导航栏标题按钮 3.多版本处理 4.iOS6和iOS7的适配 5.设置按钮背景 6.设置值UIBarButtonItem样式   code source: htt ...

  9. jQuery基础学习5——JavaScript方法获取页面中的元素

    给网页中的所有<p>元素添加onclick事件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  10. CodeForces 589B Layer Cake (暴力)

    题意:给定 n 个矩形是a*b的,问你把每一块都分成一样的,然后全放一块,高度都是1,体积最大是多少. 析:这个题,当时并没有完全读懂题意,而且也不怎么会做,没想到就是一个暴力,先排序,先从大的开始选 ...