显式游标(explicit cursor)和隐式光标(implicit cursor)的区别

当涉及到数据库时,游标是一种控制结构,它允许遍历数据库中的记录。游标提供了一种为sqlselect语句指定名称的机制,然后可以使用它来操作该SQL语句中的信息。当没有显式定义的游标时,每次在PL/SQL中发出Select语句时,都会自动创建并使用隐式游标。顾名思义,显式游标是由开发人员显式定义的。在PL/SQL中,显式游标实际上是使用关键字cursor定义的命名查询。...

显式游标与隐式游标

当涉及到数据库时,游标是一种控制结构,它允许遍历数据库中的记录。游标提供了一种为sqlselect语句指定名称的机制,然后可以使用它来操作该SQL语句中的信息。当没有显式定义的游标时,每次在PL/SQL中发出Select语句时,都会自动创建并使用隐式游标。顾名思义,显式游标是由开发人员显式定义的。在PL/SQL中,显式游标实际上是使用关键字cursor定义的命名查询。

什么是隐式游标?

每次发出select语句时,Oracle都会自动创建并使用隐式游标。如果使用隐式游标,数据库管理系统(DBMS)将自动执行打开、获取和关闭操作。隐式游标只能与返回单行的SQL语句一起使用。如果SQL语句返回多行,则使用隐式游标将导致错误。隐式游标自动与每个数据操作语言(DML)语句关联,即INSERT、UPDATE和DELETE语句。另外,隐式游标用于处理SELECTINTO语句。当使用隐式游标获取数据时,当SQL语句未返回任何数据时,将引发NO_data \u FOUND异常。此外,当SQL语句返回多行时,隐式游标可能引发过多的“多行”异常。

什么是显式游标?

如前所述,显式游标是使用名称定义的查询。显式游标可以看作是指向一组记录的指针,并且该指针可以在记录集中向前移动。显式游标为用户提供对打开、关闭和获取数据的完全控制。此外,可以使用显式游标获取多行。显式游标也可以像任何函数或过程一样接受参数,这样每次执行游标时都可以更改游标中的变量。此外,显式游标允许您将整行提取到PL/SQL记录变量中。当需要使用显式名称声明它时,需要先使用显式名称。可以使用给Cursor的名称来访问Cursor属性。声明后,需要先打开游标。然后就可以开始取数了。如果需要获取多行,则需要在循环中执行获取操作。最后,需要关闭光标。

显式游标与隐式游标的区别

  • 发表于 2020-11-05 16:34
  • 阅读 ( 267 )
  • 分类:IT

你可能感兴趣的文章

隐性的(implicit)和明确的(explicit)的区别

...是“泰晤士河上的一个村庄” 隐性的(implicit)和明确的(explicit)的区别 •含蓄是隐含的意思。另一方面,显性是表达意义。这是这两个词的主要区别。 •隐含意义是你从句子表达的主要意义中获得的次要意义。 •同时,句子中...

  • 发布于 2020-11-04 14:23
  • 阅读 ( 301 )

6种让你的电脑为万圣节做好准备的方法

... 这将列出系统使用的所有不同的游标,如正常选择或忙碌。单击要更改的内容,然后单击浏览。。。导航到下载的光标。双击它以选中它。 ...

  • 发布于 2021-03-23 15:48
  • 阅读 ( 207 )

如何在Windows10上更改鼠标光标主题

...ows使用的大多数而不是全部方案,则可以更改方案的各个游标。每个方案都有17个光标,当鼠标悬停在屏幕上时,这些光标适用于不同的情况和操作。根据自己的喜好自定义方案后,可以将其保存到可用方案列表中。 按键盘上的...

  • 发布于 2021-04-02 09:29
  • 阅读 ( 228 )

从头开始创建Windows7主题包

...项,您要为每个光标使用.cur或.ani文件。可以替换的有效游标如下: Arrow,Help,AppStarting,Wait,NWPen,No,Size,SizeWE,Crosshair,IBeam,SizeNWSE,sizenew,SizeAll,向上箭头 如果未定义游标,则将使用系统默认值。 在这两个部分之后...

  • 发布于 2021-04-13 08:49
  • 阅读 ( 142 )

如何使用幻灯尺

...,你找到的是实际的数字3,而不是1.3。Steps 1 and 2: Put the cursor on 32 (3.2) on the D scale, and then move the slide so the index of the C scale matches up with the hairline.Screenshot: Simulated Pickett N909-ES Slide RuleStep 3: Move the cursor to your second number (45, or 4.5) on...

  • 发布于 2021-05-13 22:21
  • 阅读 ( 375 )

mac的平滑光标分别控制鼠标和触控板的加速

...置。加速是伟大的轨迹板,但往往是尴尬的鼠标。Smooth Cursor是一款允许您通过设备更改加速度的应用程序。平滑光标允许您分别控制鼠标和轨迹板的加速度。因此,如果您喜欢其中一个输入的特性,可以使用它并对其进行自定...

  • 发布于 2021-05-25 05:15
  • 阅读 ( 199 )

明确的(explicit)和隐性的(implicit)的区别

...母语和英语第二语言使用者的混淆。   什么是明确的(explicit)? Explicit是用来定义一种情况,这种情况已经被彻底地阐述和表达了,而没有留下任何未触及的东西。在执行特定任务时,如果没有混淆的余地,就可以说某些东西...

  • 发布于 2021-06-25 06:56
  • 阅读 ( 523 )

回溯(backtracking)和分支(branch)的区别

...间来求解。 回溯的所有解决方案都需要满足一组复杂的显式和隐式约束。显式约束限制要从给定集合中选择的每个向量元素。此外,隐式约束在解空间中寻找满足准则函数的元组。 什么是分支和边界(branch and bound)? 分枝定界...

  • 发布于 2021-07-01 11:13
  • 阅读 ( 234 )

可滚动的(scrollable)和db2中的不可滚动游标(non scrollable cursors in db2)的区别

DB2中可滚动和不可滚动游标的主要区别在于,可滚动游标用于在结果集中随机移动,而不可滚动游标用于在结果集中按顺序向前移动。 DB2是IBM开发的关系数据库管理系统。它是一个能够处理大量数据的高性能数据库。多个用户...

  • 发布于 2021-07-01 12:43
  • 阅读 ( 226 )

递归的(recursive)和明确的(explicit)的区别

...特定术语的值。这就是递归公式的功能。 什么是明确的(explicit)? 在显式公式中,我们可以根据特定项的位置来求其值。 假设公式如下。 a(n)=2(n-1)+4 第一学期如下。 a(1)=2(1-1)+4=0+4=4 第二学期如下。 a(2)=2(2-1)+4=2+...

  • 发布于 2021-07-01 15:01
  • 阅读 ( 797 )

相关推荐