嗨 甲骨文【2】

/************************************************
我与游标

/************************************************
使用显式游标

定义游标DECLARE
CURSOR cursor_name IS select_statement;

打开游标OPEN
OPEN cursor_name

提取游标FETCH
FETCH cursor_name INTO variable1,variable2,...;

关闭游标CLOSE
CLOSE cursor_name;

显式游标属性
%ISOPEN判断是否已经打开 打开TRUE
%FOUND是否从结果集中提取到了数据 提取到TRUE
%NOTFOUND是否从结果集中提取到了数据 没有提取到TRUE
%ROWCOUNT返回到当前行为止已经提取到的实际行数

参数游标

以实现使用不同参数值多次打开游标时,可以生成不同的结果集
CURSOR cursor_name(parameter_name datatype) IS select_statement;

使用游标更新/删除数据
CURSOR cursor_name(parameter_name datatype) IS select_statement FOR UPDATE [OF column_reference] [NOWAIT];

FOR UPDATE用于在结果集数据上加行共享锁,以防止其他用户再次行执行DML操作
OF确定那些表要加锁
NOWAIT指定执行时不等待锁,如果其他会话已经在被作用行上加锁,则当前会话显示错误提示

UPDATE table_name SET column=.. WHERE CURRENT OF cursor_name;
DELETE table_name WHERE CURRENT OF cursor_name;

游标循环

Oracle会隐含地打开游标,提取游标并关闭游标
FOR record_name IN cursor_name LOOP
    statement1;
    statement2;
    ...
END LOOP;

如果循环时不需要使用任何游标属性,则可直接使用子查询
FOR record_name IN (select_statement) LOOP
    statement1;
    statement2;
    ...
END LOOP;

使用游标变量

定义REF CURSOR类型和游标变量
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
cursor_variable ref_type_name;

打开游标
OPEN cursor_variable FOR select_statement;

提取游标数据
FETCH cursor_variable INTO variable1,variable2,...;

关闭游标CLOSE
CLOSE cursor_variable

时间: 2024-09-11 15:19:40

嗨 甲骨文【2】的相关文章

嗨 甲骨文【5】

SQL函数:单行函数,多行函数(分组函数) 字符函数ascii('a')=>97chr(65)=>'A'initcap('my word')=>My Wordinstr('morning,'n',1,1)=>4length('eric lu han')=>11lpad('targ',10,'*')=>******targnls_lower('Me')=>menls_upper(my word')=> MY WORDregexp_replace() (10g)

嗨 甲骨文【4】

动态SQL的使用 Oracle实际上比SQL Server好一些,但绝对没有传说中那么强.这是这些天一识Oracle庐山真面目的感受.看来好多事情多如此,听的要比见到的完美.接着第一句说,Oracle的动态SQL就很棒,我专门学习了一下.记录如下. 先说说动态SQL是什么,看这句熟悉的:select * from a_table where a_variable=a_declarevalue;再写句动态的:select * from a_table where a_variable=:a_dyn

嗨 甲骨文【1】

[序]为了在工作中写存储过程,.同时,我准备写学习<精通Oracle 10g PL/SQL编程>(水利水电)一书的学习笔记. 这些你能不能写全:Data Query Language--SELECTData Manipulation Language--INSERT,UPDATE,DELETETransactional Control Language--COMMIT,ROLLBACK,SAVEPOINTData Definition Language--CREATE TABLE,ALTER

甲骨文云策略拉长战线 对抗云计算集团军

10月1日 在昨天甲骨文首席执行官Larry Ellison的演讲中,引发业界震动的当属甲骨文发布的公有云SaaS策略,以及在客户防火墙之后.能像公有云一样按需租用并由甲骨文远程支持的甲骨文私有云服务了.无论是昨天Larry Ellison的演讲还是今天总裁马克·赫德的演讲,在谈及竞争对手时似乎掉转了枪头.Larry Ellison表示:"我们在SaaS领域的对手是Salesforce而非SAP,在IaaS领域的对手是亚马逊而非IBM."而马克·赫德也把甲骨文云服务与Salesforc

甲骨文又推出新版本啦!

近日,甲骨文推出了Oracle 托管型CRM 20 版(Oracle CRM On Demand Release 20)这个新概念,其新增功能主要有增加收入,降低成本,并跨行业提升客户体验.此举再度体现了甲骨文的持续创新和对客户的承诺.Oracle 托管型CRM 20版针对每一个行业的独特客户体验和沟通需求,对解决特定行业的关键问题,为生命科学.保险.金融服务和汽车行业提升商业价值上都做出了不菲的成绩. 甲骨文准确记录和监测样品质量下降的功能有助于确保企业遵守生命科学行业内与样品分销有关的,普遍

傲游云浏览器旅行嗨翻天

  进入9月,令人期待的中秋国庆长假逐渐接近,各种"请假攻略"随之在网上流传开来.据悉,今年的中秋节假期为9月19日至21日,本周起就可以在网上订购火车票.与此同时,网友们也都根据自身情况,打造出不同的请假攻略,出行方式也不尽相同,下面与小编一起来看看这些请假出行攻略,哪些比较适合您?无论是火车还是飞机,傲游云浏览器[下载]都能让你旅行嗨翻天! 攻略一:请3天休8天 机票出行连休一周 小编发现,今年的假期基本靠"凑",不少人对此假期安排无力吐槽.因此有人打出&quo

甲骨文全球大会揭示Oracle Solaris 11

甲骨文公司在旧金山举行的2011甲骨文全球大会上展示Oracle Solaris 11,该操作系统计划于今年11月推出.Oracle Solaris是面向企业级操作系统,在SPARC和x86系统上均能提供业界领先的可用性.安全性和性能. 推荐阅读:Solaris 11将会带给我们些什么? Oracle Solaris 11是为云计算而开发的顶级企业级操作系统,在大规模云环境中,可实现安全和闪电般快速的服务部署.同时为Oracle及第三方应用进行了优化.超过600个来自金融服务.通信.公用事业等不

开放源代码将挑战甲骨文王国

甲骨文公司持续在数据库市场称霸,但分析师指出,开放源代码将成为该公司最大的对手. 市场研究公司IDC和Gartner均预测,关系性数据库管理系统(RDBMS)软件的全球业绩将持续成长,而企业数据储存需求仍是市场扩增的主要来源.该系统主要用于存储.操作或恢复数据. Gartner与IDC均在本周公布的全球2005年RDBMS软件销售报告中做出评估. 分析师表示,甲骨文王国的最大威胁将是MySQL等开放源代码竞争者.开放源代码软件的受欢迎,可能改变RDBMS产品现在的计价和授权方式,颠覆现状. Ga

甲骨文 惠普发布优化数据仓库设计部署

2006年7月31日,甲骨文和惠普联合宣布,双方已共同开发出一套"参考配型",能够帮助IT部门加速基于惠普服务器与存储平台.Oracle(r) Database 10g软件的数据仓库部署. 此次开发出的这套"参考配型",可帮助客户从一开始就获得其所需的数据库.服务器与存储的最佳资源组合.这些配型可以从不同程度地优化数据仓库解决方案,实现其出色的设计性能或性价比.这种方式可以缩短数周的购买周期从而更易于与甲骨文和惠普合作,有助于实现企业与惠普和甲骨文之间更轻松的业务合