iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL - CALL 语句
  • 240
分享到

MySQL - CALL 语句

数据库mysqlsql 2023-09-10 13:09:19 240人浏览 薄情痞子
摘要

存储过程是存储在 sql 目录中的子例程、SQL 语句段。这些过程包含 IN 和/或 OUT 参数。如果您使用 SELECT 语句,它们可能会返回结果集;它们可以返回多个结果集。 Mysql的调用语句用于调用/调用存储过程。 语法

存储过程是存储在 sql 目录中的子例程、SQL 语句段。这些过程包含 IN 和/或 OUT 参数。如果您使用 SELECT 语句,它们可能会返回结果集;它们可以返回多个结果集。

Mysql的调用语句用于调用/调用存储过程。

语法

以下是 mysql 中调用语句的语法 -

CALL procedure_name(parameter[param1, param2, ...])

其中procedure_name是您需要调用的现有过程的名称,参数 1 和 param2。是过程接受的参数列表(如果它接受任何参数)。

示例:使用参数调用存储过程

假设我们使用 CREATE 语句在数据库中创建了一个名为 Emp 的表,并在其中插入了三条记录,如下所示 -

mysql> CREATE TABLE Emp (Name VARCHAR(255), Salary INT, Location VARCHAR(255));

假设我们已经创建了一个存储过程 InsertData,它接受名称,薪水和位置值,并将它们作为记录插入到上面的创建(Emp)表中。

mysql> DELIMITER //mysql> Create procedure InsertData (   IN name VARCHAR(30),   IN sal INT,   IN loc VARCHAR(45))      BEGIN         INSERT INTO Emp(Name, Salary, Location) VALUES (name, sal, loc);      END //Query OK, 0 rows affected (0.20 sec)mysql> DELIMITER ;

以下语句调用上面创建的存储过程

mysql> CALL InsertData ('Raju', 35000, 'Bangalore');Query OK, 1 row affected (0.46 sec)mysql> CALL InsertData ('Raman', 45000, 'Vishakhapatnam'); Query OK, 1 row affected (0.22 sec)mysql> CALL InsertData ('Rahman', 55000, 'Hyderabad');Query OK, 1 row affected (0.16 sec)

验证

通过传递所需值调用过程后,您可以验证 Emp 表的内容,如下所示 −

mysql> SELECT * FROM EMP;+--------+--------+---------------+| Name   | Salary | Location      |+--------+--------+---------------+| Raju   | 35000  | Bangalore     || Raman  | 45000  | Visakhapatnam || Rahman | 55000  | Hyderabad     |+--------+--------+---------------+3 rows in set (0.00 sec)

示例:调用不带参数的存储过程

在调用不接受任何参数的存储过程时,我们可以省略括号,如下所示 -

CALL procedure;

假设我们创建了另一个名为 getData 的过程,该过程重试表 EMP 的内容 −

mysql> DELIMITER //mysql> CREATE PROCEDURE getData()   BEGIN      SELECT * FROM EMP;   END//Query OK, 0 rows affected (0.12 sec)mysql> DELIMITER ;

由于此过程不接受参数,因此您可以通过省略参数来调用此过程,如下所示 -

mysql> CALL getData;+--------+--------+---------------+| Name   | Salary | Location      |+--------+--------+---------------+| Raju   | 35000  | Bangalore     || Raman  | 45000  | Visakhapatnam || Rahman | 55000  | Hyderabad     |+--------+--------+---------------+3 rows in set (0.00 sec)Query OK, 0 rows affected (0.01 sec)

示例:调用返回值的存储过程

让我们使用 CREATE 语句在 MySQL 数据库中创建另一个名为“销售”的表,如下所示 −

mysql> CREATE TABLE sales(   ID INT,   ProductName VARCHAR(255),   CustomerName VARCHAR(255),   DispatchDate date,   DeliveryTime time,   Price INT,   Location VARCHAR(255));Query OK, 0 rows affected (2.22 sec)

现在,我们将使用 INSERT 语句在 Sales 表中插入 5 条记录 −

insert into sales values(1, 'Key-Board', 'Raja', DATE('2019-09-01'), TIME('11:00:00'), 7000, 'Hyderabad');insert into sales values(2, 'Earphones', 'Roja', DATE('2019-05-01'), TIME('11:00:00'), 2000, 'Vishakhapatnam');insert into sales values(3, 'Mouse', 'Puja', DATE('2019-03-01'), TIME('10:59:59'), 3000, 'Vijayawada');insert into sales values(4, 'Mobile', 'Vanaja', DATE('2019-03-01'), TIME('10:10:52'), 9000, 'Chennai');insert into sales values(5, 'Headset', 'Jalaja', DATE('2019-04-06'), TIME('11:08:59'), 6000, 'Goa');

我们在数据库中创建了一个名为 getProductPrice 的存储过程,如下所示 −

mysql> DELIMITER //mysql> CREATE PROCEDURE getPrice (   IN in_id INTEGER,   OUT out_ProdName VARCHAR(20),   OUT out_CustName VARCHAR(20),   OUT out_price INTEGER)   BEGIN      SELECT ProductName, CustomerName, Price      INTO out_ProdName, out_CustName, out_price      FROM Sales where id = in_id;   END //Query OK, 0 rows affected (0.24 sec)mysql> DELIMITER ;

此过程接受客户的 ID 作为 IN 参数,并从销售表中返回产品名称(字符串)、客户名称(字符串)和价格(int)值作为 OUT 参数。

要调用具有参数作为参数传递的过程,@parameter_name,请在这些参数中存储输出值。

mysql> CALL getPrice (1, @ProductName, @CustomerName, @Price);Query OK, 1 row affected (0.00 sec)

稍后,您可以打印 mysql 参数的值,如下所示 −

mysql> SELECT @ProductName, @CustomerName, @Price;+--------------+---------------+--------+| @ProductName | @CustomerName | @Price |+--------------+---------------+--------+| Key-Board    | Raja          | 7000   |+--------------+---------------+--------+1 row in set (0.00 sec)

来源地址:https://blog.csdn.net/allway2/article/details/127224653

您可能感兴趣的文档:

--结束END--

本文标题: MySQL - CALL 语句

本文链接: https://www.lsjlt.com/news/402342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL - CALL 语句
    存储过程是存储在 SQL 目录中的子例程、SQL 语句段。这些过程包含 IN 和/或 OUT 参数。如果您使用 SELECT 语句,它们可能会返回结果集;它们可以返回多个结果集。 MySQL的调用语句用于调用/调用存储过程。 语法 ...
    99+
    2023-09-10
    数据库 mysql sql
  • VBS中Call语句的用法
    这篇文章主要介绍“VBS中Call语句的用法”,在日常操作中,相信很多人在VBS中Call语句的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VBS中Call语句的用法”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-08
  • call语句的作用是什么
    这篇文章将为大家详细讲解有关call语句的作用是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。CALL语句可以用声明为OUT或的INOUT参数的参数给它的调用者传回值...
    99+
    2024-04-02
  • sql call语句的作用是什么
    这篇文章将为大家详细讲解有关sql call语句的作用是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL CALL 语句的作用 SQL CALL 语句用于在 SQL 中调用存储过程或函数。它允许程...
    99+
    2024-05-12
    CALL语句 存储过程 SQL函数 代码重用性 可维护性
  • sql call语句的使用方法是什么
    这篇文章将为大家详细讲解有关sql call语句的使用方法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL CALL 语句的使用方法 SQL CALL 语句用于调用存储过程或函数,它允许程序员执...
    99+
    2024-05-12
    SQLCALL 存储过程 函数 外部函数 最佳实践
  • 初识mysql语句
    mysql5.7的安装,参考centos7安装mysql-5.7.22使用root账号登陆方式一: 使用账户root,密码root登陆,注意-p后面不能有空格mysql -u root -proot 方式二:mysql -u ro...
    99+
    2023-01-30
    语句 mysql
  • MySQL 的 LIKE 语句
    MySQL 的 LIKE 语句用于在 WHERE 子句中模糊匹配数据,常用于模糊查询。语法如下: SELECT column1, column2, ... FROM table_nam...
    99+
    2023-09-05
    mysql 数据库
  • mysql handler语句之一
    handler语句概述     handler类似于select语句,但又不同于后者,它只能每次查询1次记录。handler有一些特殊的功能,适用于一些特定的场景。本文介绍ha...
    99+
    2024-04-02
  • MySQL语句有哪些
    这篇文章给大家分享的是有关MySQL语句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQL(Structured Query Language)语句,即结构化查询语言,是...
    99+
    2024-04-02
  • mysql备份表语句
    Mysql备份表的语句(仅数据): create table tabalname1 as select * from tabalname;      //名字不能一致; 实例: 备份fundinfo表中数据 create...
    99+
    2023-09-14
    mysql 数据库 sql
  • MySql update语句用法
    用法 你可以同时更新一个或多个字段。你可以在 WHERE 子句中指定任何条件。你可以在一个单独表中同时更新数据。 student idnameage1赵152钱163孙184赵145钱176孙19 将name='赵'的学...
    99+
    2023-09-02
    sql mysql 数据库 大数据 后端
  • MySQL with语句讲解
    目录一.提升代码的可读性和可维护性二.with递归备注:测试数据库版本为mysql 8.0 今天我们来聊聊MySQL的with语句对于逻辑复杂的sql,with可以大大减少临时表的数量,提升代码的可读性、可维护性 MyS...
    99+
    2024-04-02
  • MySQL高阶语句(三)
    一、NULL值 在 SQL 语句使用过程中,经常会碰到 NULL 这几个字符。通常使用 NULL 来表示缺失 的值,也就是在表中该字段是没有值的。如果在创建表时,限制某些字段不为空,则可以使用 NOT...
    99+
    2023-10-06
    mysql 数据库 android
  • mysql预处理语句
    set @sql0 =strData;prepare tem from @sql0;execute tem;     ...
    99+
    2024-04-02
  • mysql基础语句1
    创建用户 create user ben identified by ‘P@$$w0rd’; 查看所有用户 select user,host from mysql.user; 用户重命名 rename user ben...
    99+
    2023-01-31
    语句 基础 mysql
  • MySQL with语句讲解
    目录一.提升代码的可读性和可维护性二.with递归备注:测试数据库版本为MySQL 8.0 今天我们来聊聊MySQL的with语句对于逻辑复杂的sql,with可以大大减少临时表的数...
    99+
    2022-11-16
    mysql with语句 mysql with
  • Mysql中的LIMIT 语句
    1. LIMIT 语句简介 LIMIT 语句是 MySQL 中常用的语句之一,它主要用于从关系型数据库中读取数据时,指定需要读取的行数。可以利用该语句实现分页功能,或者限制结果集返回的行数。其中最常用的语法格式如下: SELECT...
    99+
    2023-09-09
    数据库 sql mysql
  • Mysql高阶语句 (一)
    一、常用查询 (增、删、改、查) 对 MySQL 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。 例如只取 10 条数据、对查询结果进行排序或分组等等 按关键字排序 PS:类比于windows 任务管理器 使用 SELE...
    99+
    2023-09-11
    mysql 数据库
  • MySQL基础——DDL语句
    目录 MySQL SQL DDL——数据定义 数据库操作 连接 查询 使用 创建 删除 数据表操作 创建 查询 修改 删除 MySQL MySQL是一个关系型数据库管理系统,其数据是保存在不同的数据表中,而不是将所有数据放在一个大仓库内...
    99+
    2023-09-21
    mysql 数据库
  • 【MySQL】MySQL基本语句大全
    个人主页:【😊个人主页】 系列专栏:【❤️MySQL】 文章目录 前言结构化查询语句分类MySQL语句大全📚DDL(对数据库和表的操作)🤖DQL(查询语句)💻...
    99+
    2023-08-17
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作