提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李爽夏|2019-01-23 13:17:02.000|阅读 209 次
概述:本教程说明了有关存储过程使用的总体方面的信息。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
【下载dotConnect for Oracle最新版本】
dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的解决方案。它为设计应用程序结构带来了新的方法,提高工作效率,使数据库应用程序的开发更简便。
本篇文章包含有关存储过程使用的总体方面的信息。
存储过程是一个模式对象,由一组SQL语句和其他PL/SQL构造组成,组合在一起,存储在数据库中,并作为一个单元运行以解决特定问题或执行一组相关任务。过程使您能够将SQL的易用性和灵活性与结构化编程语言的过程功能结合起来。可能需要执行多个SQL语句的大型或复杂处理被移到存储过程中,并且所有应用程序只调用这些过程。
类似于存储过程的对象是存储函数。几乎所有对于过程来说都是正确的,也适用于函数。这些对象之间的主要区别在于函数有返回值,而过程没有。
存储过程和函数可以有输入、输出和输入/输出参数。
输入参数是一个参数,其值被传递到存储过程/函数模块中。In参数的值是常量;不能在模块中更改或重新分配。
例如,以下过程将一行插入到DEPT表中:
CREATE PROCEDURE dept_insert (pDeptno INTEGER, pDname VARCHAR, pLoc VARCHAR) AS BEGIN INSERT INTO dept(deptno, dname, loc) VALUES (pDeptno, pDname, pLoc); END;
它需要接收要插入到新记录中的值,因此该过程有三个输入参数,对应于表的每个字段。该过程可以在PL/SQL块内执行,如下所示:
begin dept_insert (10, 'Accounting', 'New York'); end;
输出参数是一个参数,其值从存储过程/函数模块传递回调用的pl/sql块。out参数必须是变量,而不是常量。它只能在模块中分配的左侧找到。不能将默认值赋给模块体外部的OUT参数。换句话说,OUT参数的行为类似于未初始化的变量。在以下示例中,存储过程返回表dept中的记录计数:
CREATE PROCEDURE dept_count (cnt OUT INTEGER) AS BEGIN SELECT COUNT(*) INTO cnt FROM dept; END;
输入/输出参数是一个作为输入或输出参数或两者兼用的参数。输入/输出参数的值被传递到存储过程/函数中,可以为该参数分配一个新值并从模块中传递出去。输入/输出参数必须是变量,而不是常量。但是,它可以在任务的两边找到。换句话说,一个IN/OUT参数的行为就像一个初始化的变量。
除了标量变量之外,存储过程还可以返回结果集,即SELECT语句的结果。在Oracle中,光标变量用于这种情况。光标可以解释为对结果集的引用。下面的示例演示如何将最简单的SELECT语句包装在存储过程中:
CREATE PROCEDURE get_all_depts_proc (cur OUT SYS_REFCURSOR) AS BEGIN OPEN cur FOR SELECT * FROM dept; END;
相同的SELECT语句可以通过存储函数使用,如下所示:
CREATE OR REPLACE FUNCTION get_all_depts_func RETURN SYS_REFCURSOR AS cur SYS_REFCURSOR; BEGIN OPEN cur FOR SELECT * FROM dept; RETURN cur; END;
这里,光标作为返回值传递,而不是作为输出参数。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
dotConnect for Oracle不仅可以高效地连接到Oracle数据库,还提供了新的开发工具和技术。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢