论坛登陆 注册 文章专区 笑话频道 影视频道 投稿文章 旧版浏览
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Oracle>>正文

Oracle数据库游标使用大全

www.xker.com 作者: 来源:uml.org.cn 加入日期:2006-1-16 11:08:45

【问题提问、论坛交流】SQL是用于访问ORACLE数据库的语言,PL/SQL扩展和加强了SQL的功能,它同时引入了更强的程序逻辑 PL/SQL支持DML命令和SQL的事务控制语句DDL在PL/SQL中不被支持,这就意味作在PL/SQL程序块中不能创建表或其他任何对象较好的PL/SQL程序设计是在PL/SQL块中使用象DBMS_SQL这样的内建包或执行EXECUTE IMMEDIATE命令建立动态SQL来执行DDL命令,PL/SQL编译器保证对象引用以及用户的权限下面我们将讨论各种用于访问ORACLE数据库的DDL和TCL语句

查询

SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中SELECT INTO语法如下:

SELECT [DISTICT|ALL]{*|column[,column,...]}

INTO (variable[,variable,...] |record)

FROM {table|(sub-query)}[alias]

WHERE............


PL/SQL中SELECT语句只返回一行数据如果超过一行数据,那么就要使用显式游标(对游标的讨论我们将在后面进行),INTO子句中要有与SELECT子句中相同列数量的变量INTO子句中也可以是记录变量

TYPE属性

在PL/SQL中可以将变量和常量声明为内建或用户定义的数据类型,以引用一个列名,同时继承他的数据类型和大小这种动态赋值方法是非常有用的,比如变量引用的列的数据类型和大小改变了,如果使用了%TYPE,那么用户就不必修改代码,否则就必须修改代码

例:
v_empno SCOTT.EMP.EMPNO%TYPE;

v_salary EMP.SALARY%TYPE;


不但列名可以使用%TYPE,而且变量、游标、记录,或声明的常量都可以使用%TYPE这对于定义相同数据类型的变量非常有用

DELCARE

V_A NUMBER(5):=10;

V_B V_A%TYPE:=15;

V_C V_A%TYPE;

BEGIN

DBMS_OUTPUT.PUT_LINE

(V_A=||V_A||V_B=||V_B||V_C=||V_C);

END

SQL>/

V_A=10 V_B=15 V_C=

PL/SQL procedure successfully completed.

SQL>


其他DML语句

其它操作数据的DML语句是:INSERT、UPDATE、DELETE和LOCK TABLE,这些语句在PL/SQL中的语法与在SQL中的语法相同我们在前面已经讨论过DML语句的使用这里就不再重复了在DML语句中可以使用任何在DECLARE部分声明的变量,如果是嵌套块,那么要注意变量的作用范围

例:

CREATE OR REPLACE PROCEDURE FIRE_EMPLOYEE (pempno in number)

 AS

v_ename EMP.ENAME%TYPE;

 BEGIN

SELECT ename INTO v_ename

FROM emp

WHERE empno=p_empno;

INSERT INTO FORMER_EMP(EMPNO,ENAME)

VALUES (p_empno,v_ename);

DELETE FROM emp

WHERE empno=p_empno;

UPDATE former_emp

SET date_deleted=SYSDATE

WHERE empno=p_empno;

EXCEPTION

 WHEN NO_DATA_FOUND THEN

 DBMS_OUTPUT.PUT_LINE(Employee Number Not Found!);

 END



DML语句的结果

当执行一条DML语句后,DML语句的结果保存在四个游标属性中,这些属性用于控制程序流程或者了解程序的状态当运行DML语句时,PL/SQL打开一个内建游标并处理结果,游标是维护查询结果的内存中的一个区域,游标在运行DML语句时打开,完成后关闭隐式游标只使用SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三个属性.SQL%FOUND,SQL%NOTFOUND是布尔值,SQL%ROWCOUNT是整数值

本新闻共5页,当前在第1页  1  2  3  4  5  

编辑:xker.com

上一篇:Oracle9i中监视索引的使用
下一篇:没有了
关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章
·Oracle9i中监视索引的使用·使用Oracle实现实时通信·Oracle SQL 内置函数大全
·Oracle实用技巧
推荐文章 最新文章 热门文章
·Oracle数据库游标使用大全
·Oracle9i中监视索引的使用
·使用Oracle实现实时通信
·制作MP3播放器TXT图书之三剑客
·什么是IPTV
·全面控制Win XP的安装进度过程
·电子图书制作方法之EXE格式篇
·用VC6.0实现快捷方式中的查找目标功能
·实战网络服务器安全配置技巧
·在Java SE中使用Hibernate框架
·ASP.NET入门随想之多态、接口与委托
·Windows虚拟内存加速密籍
·性能“脱胎换骨”骗术 解密优化骗局
·使用 MySQL 开始 PHP 会话
·AJAX及使用E4X编写Web服务脚本
·Oracle数据库游标使用大全
·Oracle9i中监视索引的使用
·使用Oracle实现实时通信
·千万不能更新的QQ网络硬盘
·遵循国际网站标准进行网站设计和改善
·制作MP3播放器TXT图书之三剑客
·SQL注入技术和跨站脚本攻击的检测
·如何从Html页面中提取所有汉字
·ASP中实现的类似URLEncode的编码函数
·为你的程序创建一个控制台
·处理较长文章,添加... 效果的解决方
·网吧资源有效利用之——带宽管理
·怎么写dos病毒
·某知名大企业的教训--慎用AJAX框架
·做了两个月ajax,总结一些小经验
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·WinRAR 3.51 注册码
·Norton AntiVirus 2006 注册码(激活
·系统优化 专题
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·最经典的黑客入门教材
·求职简历封皮
·怎样查找对方的IP地址
·FlashFXP 3.3.1 build 1089注册码
·2005最新最全注册码集中营(11月更新)
·应届毕业生求职信
·ACDSee v8.0注册码
评论 本站声明
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号