Navicat使用教程:了解关系数据库中的存储过程和函数

翻译|使用教程|编辑:莫成敏|2019-11-12 11:50:34.277|阅读 225 次

概述:大多数关系数据库——包括MySQL、MariaDB和SQL Server,都支持存储过程和函数。存储过程和函数实际上非常相似,可以用来完成相同的任务。也就是说,在决定对特定工作使用哪个时,需要考虑两者之间的一些关键差异。我们将在今天的文章中介绍这些内容。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。

点击查看Navicat系列产品

大多数关系数据库——包括MySQL、MariaDB和SQL Server,都支持存储过程和函数。存储过程和函数实际上非常相似,可以用来完成相同的任务。也就是说,在决定对特定工作使用哪个时,需要考虑两者之间的一些关键差异。我们将在今天的文章中介绍这些内容。

存储过程

存储过程(简称“proc”)是一组具有指定名称的结构化查询语言(SQL)语句,它们以组的形式存储在关系数据库管理系统中,因此可以被多个程序重用和共享。存储过程可以访问或修改数据库中的数据,但它并不绑定到特定的数据库或对象。这种松散的耦合是有利的,因为很容易为不同但相似的目的重新分配proc。

存储过程可以接受输入参数并返回输出参数的多个值;此外,存储过程可以对语句进行编程以在数据库中执行操作,并向调用过程或批处理返回状态值。

最后,存储过程可以执行多个SQL语句、调用函数,甚至迭代结果集,从而执行类似于编程代码的复杂操作。完成后,proc通常会将更多结果集之一返回给调用应用程序。

Navicat使用教程:了解关系数据库中的存储过程和函数

用户函数

函数类似于存储过程,因为它包含一组执行特定任务的SQL语句。功能背后的想法是提高代码的可重用性。如果必须重复编写大型SQL脚本来执行同一任务,则可以创建一个执行该任务的函数,这样,下次无需重写SQL,只需调用该函数即可。数据库通常包括一组执行各种任务的内置函数,因此在编写自己的函数之前,请务必先对其进行研究。

函数接受参数形式的输入并返回一个值。与存储过程不同,函数不能返回结果集。而且,函数不能修改服务器环境或操作系统环境。

Navicat使用教程:了解关系数据库中的存储过程和函数

主要区别

虽然proc和函数都可以以类似的方式使用,但是函数被设计为将其输出发送到查询或SQL语句。同时,存储过程旨在将输出(即一个或多个结果集)返回给应用程序。

另一个区别是,您可以将一组SQL语句分组并在存储过程中执行它们,而在SQL语句中不能调用存储过程。另一方面,可以直接从查询或存储过程中调用函数。

最后,功能的局限性是必须为每一行调用它们。因此,如果您使用的函数具有较大的数据集,则可能会遇到性能问题。

在Navicat中查看存储的过程和函数

在Navicat数据库管理和开发工具中,您将在“函数”下看到proc和函数。存储过程的前缀为“Px”,而函数的前缀为“fx”:

Navicat使用教程:了解关系数据库中的存储过程和函数

结论

存储过程和函数在许多方面都非常相似,但是每种方法都有不同的用途。您可以将存储的proc看作是一组SQL语句,而一个函数接受输入并根据输入参数返回输出值。


点击下载Navicat的产品Navicat for MySQLNavicat for PostgreSQLNavicat for OracleNavicat Premium进行评估~想要了解更多产品信息请点击【咨询在线客服】

840-100.jpg



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:Navicat

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Navicat for MySQL

Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。

Navicat for PostgreSQL

Navicat for PostgreSQL是一套专为PostgreSQL设计的强大数据库管理及开发工具

Navicat for Oracle

Navicat for Oracle是一套超强的Oracle数据库系统管理工具,包括数据模型工具、数据或结构同步、导入或导出、和报表,令维护数据的进程更容易。

Navicat Premium

Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。

Navicat for SQL Server

Navicat for SQL Server 是一套专为 Mircosoft SQL Server设计的强大数据库管理及开发工具

Navicat for SQLite

Navicat for SQLite 是一套专为SQLite 设计的强大数据库管理及开发工具

Navicat Data Modeler

Navicat Data Modeler是一款数据建模图形化工具,为创建数据建模带来一种全新的体验。

Navicat Essentials

Navicat Essentials是一个小型版本的 Navicat,提供了数据库管理的基本和必需功能。

Navicat for MariaDB

Navicat for MariaDB 为 MariaDB 数据库管理提供了一个原生环境。你可以直观地设计数据库结构、运行 SQL 查询和脚本、管理 MariaDB 用户及其权限。

Navicat Report Viewer

Navicat Report Viewer 是一款Navicat Report Builder查看器,可以浏览由Navicat Report Builder创建设计的报表文件。

Navicat Monitor

安全、简单而且无代理的远程服务器监控工具。

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat