用法限制

此外,下表显示了用作存储过程或函数参数的游标变量允许的参数模式(具体取决于存储过程或函数中对游标变量的操作)。表 1. 允许的游标变量参数模式 操作ININ OUTOUT OPEN否是否 FETCH是是否 CLOSE是是否 例如,如果一个存储过程对声明为...

概述

程序逻辑,该逻辑从结果集中检索一行,对该行中的数据进行一些处理,然后检索下一行并重复该存储过程游标最常用在 FOR 或 WHILE 循环的上下文中。SPL 逻辑中应包含一个条件测试,用于检测何时到达结果集的末尾,以便程序可以退出循环。

REF CURSOR 概述

游标变量是一个实际包含指向查询结果集的指针的...类型可以作为参数传递到存储过程和函数或从存储过程和函数传递。函数的返回类型也可以是 REF CURSOR 类型。这提供了通过在程序之间传递游标变量,来将游标上的操作模块化为单独程序的能力。

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

建个炫酷的简历网页,制作一个浪漫的表白网页,打造个人专属网盘,多种动手场景应用免费学!!!
广告

游标属性

每个游标都有%ISOPEN、%FOUND、%NOTFOUND 和%ROWCOUNT四个属性,用于测试游标的状态。本文为您介绍这些属性及示例。ISOPEN%ISOPEN属性用于测试游标是否已打开。cursor_name%ISOPENcursor_name是游标的名称,如果游标打开,将返回BOOLEAN...

关闭游标

游标结果集中检索到所有需要的行后,必须关闭游标。关闭后,将无法再访问结果集。...调用此存储过程时会生成以下输出。员工编号 7369,SMITH 是结果集的第一行。EXEC cursor_example;Employee Number:7369Employee Name:SMITH

声明游标变量

在两种游标类型中,打开游标、选择游标和关闭游标等剩余用法都是相同的。对于本章的其余部分,我们的示例主要使用SYS_REFCURSOR 游标。您只需要更改示例中的声明部分,以使其适用于用户定义的 REF CURSOR。说明 强类型 REF CURSOR 要求结果...

游标 FOR 循环

在目前为止提供的游标示例中,处理游标结果集所需的编程逻辑包括一个用于打开游标的语句、一个用于检索结果集的每一行的循环结构、一个用于结果集末尾的测试和一个用于关闭游标的语句。游标FOR 循环是一个循环结构,使用户无需单独编写刚刚...

将%ROWTYPE 与游标结合使用

以下是此存储过程的输出。EXEC emp_info;SMITH works in department 20ALLEN works in department 30WARD works in department 30JONES works in department 20MARTIN works in department 30BLAKE works in department 30CLARK works in ...

声明游标

要使用游标,必须先在 SPL 程序的声明部分中声明它。游标声明如下所示:CURSOR name IS query;name 是一个标识符,将用于在程序的后面引用游标及其结果集。query 是一个 SQL SELECT 命令,该命令确定可由游标检索的结果集。下面是游标声明...

打开游标

在使用游标检索行之前,必须先将其打开。这将使用 OPEN 语句完成。OPEN name;name 是先前已在 SPL 程序的声明部分中声明的游标的标识符。OPEN 语句不得对已打开且仍处于打开状态的游标执行。下面显示了 OPEN 语句及其相应的游标声明。...

示例

存储过程获取并显示由员工编号和姓名组成的游标变量结果集。CREATE OR REPLACE PROCEDURE fetch_emp(p_emp_refcurIN OUT SYS_REFCURSOR)ISv_empno emp.empno%TYPE;v_ename emp.ename%TYPE;BEGINDBMS_OUTPUT.PUT_LINE('EMPNOENAME');DBMS_...

游标变量获取行

打开游标变量后,可以使用 FETCH 语句从结果集中检索行。在下面的示例中,已将 FETCH 语句添加到上一个示例中,因此现在结果集将返回到两个变量中,然后显示。请注意,用于确定静态游标游标状态的游标属性也可以与游标变量结合使用。...

DBMS_SQL

CLOSE_CURSOR存储过程CLOSE_CURSOR关闭一个已打开的游标。当关闭游标后,释放分配给游标的资源,并且不能再使用这个游标。CLOSE_CURSOR(c IN OUT INTEGER)参数 参数名称 描述 c 要关闭游标的ID。示例在下面的示例中,关闭了一个先前已打开...

关闭游标变量

与静态游标不同,游标变量不必在再次重新打开之前关闭。之前打开的结果集将丢失。通过添加CLOSE语句完善该示例。CREATE OR REPLACE PROCEDURE emp_by_dept (p_deptnoemp.deptno%TYPE)ISemp_refcurSYS_REFCURSOR;v_empno emp.empno%TYPE;v_...

参数化游标

您还可以声明接受参数的静态游标,并在打开该游标时传递这些参数的值。在下面的示例中,我们创建了一个参数化游标,该游标将显示emp表中其薪水低于作为参数传递的指定值的所有员工的姓名和薪水。DECLAREmy_record emp%ROWTYPE;CURSOR c1...

打开一个游标变量

声明游标变量后,必须使用关联的SELECT命令打开它。OPEN FOR语句指定用于创建结果集的SELECT命令。OPEN name FOR query;name是先前声明的游标变量的标识符。query是一个SELECT命令,用于在执行语句时确定结果集。执行OPEN FOR语句后的游标...

创建子存储过程

声明部分中指定的PROCEDURE子句用于定义和命名该块本地的子存储过程。术语块指 SPL 块结构,该结构由可选的声明部分、必需的可执行部分和可选的异常部分组成。块是独立存储过程和函数、匿名块、子程序、触发器、包和对象类型方法的结构。...

游标提取行

在打开游标后,可通过使用 FETCH 语句从该游标的结果集检索行。FETCH name INTO { record|variable[, variable_2].};name 是先前打开的游标的标识符。record 是先前定义的记录(例如,使用 table%ROWTYPE)的标识符。variable,variable_2....

创建子函数

块是独立存储过程和函数、匿名块、子程序、触发器、包和对象类型方法的结构。短语标识符是块本地的意味着标识符(即,变量、游标、类型或子程序)在该块的声明部分中声明,因此可由 SPL 代码在该块的可执行部分和可选异常部分中进行访问。...

创建存储过程

无法以这种方式更改存储过程的名称或参数类型(如果您尝试,实际上创建的是一个新的不同存储过程)。使用 OUT 参数时,除非通过删除存储过程,否则不能更改任何 OUT 参数的类型。CREATE[OR REPLACE]PROCEDURE name (parameters)]...

概述

包是函数,存储过程,变量,游标,用户定义的记录类型和记录的集合,这些对象可以通过一个通用的限定符-包的标识符来引用。包的特点如下: 包提供一种简便的方式把执行相关联目的的函数和存储过程组织在一起。用户必须对整个包上具有相应的...

概述

包是命名的函数、过程、变量、游标、用户定义的记录类型以及使用通用限定符(即包标识符)引用记录的集合。包有以下特点: 包提供了一种便捷方式来组织实现相关目的的函数和存储过程。使用包函数和存储过程的权限依赖于授予整个包的一个...

PolarDB PostgreSQL 云原生数据库

阿里云自研的下一代关系型云数据库,“世界互联网领先科技成果”,兼容MySQL、PostgreSQL、Oracle语法,存储最高100TB,单库可扩展至16个节点,适用于企业多样化的应用场景。

PolarDB-O 云原生数据库

阿里云自研的下一代关系型云数据库,“世界互联网领先科技成果”,兼容MySQL、PostgreSQL、Oracle语法,存储最高100TB,单库可扩展至16个节点,适用于企业多样化的应用场景。

PolarDB MySQL 云原生数据库

阿里云(Gartner全球数据库魔力象限领导者)自研的下一代关系型云数据库,兼容MySQL、PostgreSQL、Oracle语法,存储最高100TB,单库可扩展至16个节点,2020年双十一刷新数据库处理峰值记录,达1.4亿TPS。

HybridDB for MySQL

MySQL采用一份数据存储来进行OLTP和OLAP处理,解决了以往需要把一份数据进行多次复制来分别进行业务交易和数据分析的问题,极大的降低了数据存储的成本。\n\nHybridDB for MySQL 免去了以往在线数据库(Operational Database)和离线数据...

文件存储 HDFS

阿里云文件存储HDFS(Apsara File Storage for HDFS)是面向阿里云ECS实例及容器服务等计算资源的文件存储服务。文件存储HDFS允许您就像在Hadoop分布式文件系统(Hadoop Distributed File System) 中管理和访问数据。您无需对现有大数据分析...

对象存储 OSS

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

数据库文件存储

数据库文件存储(DBFS),是一款针对数据库场景的云原生共享文件存储服务。它基于共享存储架构设计,通过文件协议提供数据库定制功能,具备企业级存储特性。主要服务于云上自建数据库,基于传统SAN的应用等,为用户提供极致IO性能和高可用...

存储过程概述

存储过程是一种SPL程序,可以做为一个单独的SPL应用来调用。当调用存储过程时,它可以用输入参数的形式从调用者接收数值, 并且可以用输出参数的方式向调用者返回最终执行结果。创建存储过程CREATE PROCEDURE 命令用于定义和命名要存储在...

表格存储 Tablestore

表格存储(Tablestore)是构建在阿里云飞天分布式系统之上的 NoSQL 数据存储服务,提供海量结构化数据的存储和实时访问。

DROP PROCEDURE

删除存储过程。语法DROP PROCEDURE[IF EXISTS]name[([[argmode][argname] argtype][,.])][CASCADE|RESTRICT]说明DROP PROCEDURE 删除现有程序的定义。要执行该命令,您必须是超级用户或存储过程的所有者。如果这是一个重载存储过程,则必须...

存储网关

存储网关,是一款可在用户IDC和阿里云上部署的软网关,以阿里云OSS为后端存储,通过低成本的虚拟机服务器,给云上和云下应用提供业界标准的NFS和CIFS文件存储服务。

概述

通过将SPL代码组织为子存储过程和子函数,可以有利地运用SPL存储过程和函数程序的能力和功能来构建结构良好且易于维护的程序。通过在SPL程序中声明子存储过程和子函数,可从相对较大的SPL程序中的不同位置多次调用相同的SPL代码。子存储...

混合云存储阵列

混合云阵列(Hybrid Cloud Storage Array)是部署在IDC的一款硬件存储设备,提供本地文件和块存储服务,并且可以无缝的将数据迁移到云端。

文件存储 CPFS

CPFS(Cloud Paralleled File System)是一种并行文件系统。CPFS的数据存储在集群中的多个数据节点,并可由多个客户端同时访问,从而能够为大型高性能计算机集群提供高IOPS、高吞吐、低时延的数据存储服务。

文件存储 NAS

阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。兼容POSIX文件接口,可支持上千台弹性计算ECS、容器服务ACK等计算节点共享访问,您无需修改应用程序,即可无缝迁移业务系统上云。

CREATE PROCEDURE

存储过程将定义了该存储过程的角色的特权传递给正在调用该存储过程的角色(在执行该存储过程时):CREATE OR REPLACE PROCEDURE update_salary(id INT,new_salary NUMBER)SET SEARCH_PATH='public' SET WORK_MEM '1MB'AUTHID DEFINER ...

1.RPA连接MySQL数据库

connection.cursor(cursor=pymysql.cursors.DictCursor)游标移动所有的数据查询操作均基于游标,我们可以通过cursor.scroll(num, mode)控制游标的位置。cursor.scroll(1,mode='relative')#相对当前位置移动cursor.scroll(2, mode='absolute...

云原生数仓 AnalyticDB PostgreSQL

PostgreSQL/Oracle 的语法生态,新一代向量引擎性能超越传统数据库引擎 10 倍以上,分布式SQL优化器实现复杂查询语句免调优。通过分析型数据库PostgreSQL版可以实现对海量数据的即席查询分析、ETL 处理及可视化探索,是各行业有竞争力的云...
< 1 2 3 4 ... 200 >
共有200页 跳转至: GO
产品推荐
对象存储 块存储 文件存储 云服务器 商标 SSL证书 物联网无线连接服务 短信服务
这些文档可能帮助您
极速型NAS Web端PostObject直传实践简介 什么是对象存储OSS 什么是云存储网关CSG 管理文件系统 微信小程序直传实践

新品推荐

你可能感兴趣

热门推荐

切换为移动版

新人福利专场 阿里云试用中心 企业支持计划 飞天会员助力企业低成本上云 智能财税30天免费试用 云解析DNS新用户首购低至36元/年起 ECS限时升级特惠6.5折