美文网首页
存储程序--存储过程

存储程序--存储过程

作者: wpf_register | 来源:发表于2019-09-29 09:38 被阅读0次

原文链接-定义变量
原文链接-存储函数
原文链接-存储过程
原文链接-游标简介
原文链接-触发器和事件简介

存储函数和存储过程都属于存储例程,都是对某些语句的一个封装。存储函数侧重于执行这些语句并返回一个值,而存储过程更侧重于单纯的去执行这些语句

创建存储过程

存储过程与存储函数最直观的不同点就是,存储过程的定义不需要声明返回值类型

CREATE PROCEDURE 存储过程名称([参数列表])
BEGIN
    需要执行的语句
END   
 delimiter $
 CREATE PROCEDURE t1_operation(mValue INT, nValue CHAR(1) )
 BEGIN
     SELECT * FROM t1;
     INSERT INTO t1(m1, n1) VALUES(mValue, nValue);
    SELECT * FROM t1;
    END $
delimiter ;

存储过程的调用

CALL 存储过程([参数列表]);
CALL t1_operation(4, 'd');

查看/删除

SHOW CREATE PROCEDURE 存储过程名称
DROP PROCEDURE 存储过程名称

参数类型

参数类型 参数名 数据类型
  • IN参数类型的变量只能用于读取,对类型的变量赋值是不会被调用者看到的。
    因为对于参数类型是IN的参数,我们只是想在存储函数执行中使用它,并不需要把执行结果存储到它里边,所以除了让变量作为函数参数,常量也是可以的。

  • OUT参数类型的变量只能用于赋值,对类型的变量赋值是会被调用者看到的。
    因为由于OUT参数类型的参数只是为了用于在过程中赋值后被调用者查看,那实际的参数就不允许是常量,常量还怎么赋值啊。

  • 参数的类型默认是IN

 delimiter 
 CREATE PROCEDURE p_in ( IN arg INT)
 BEGIN
     -- 语句一:读取参数
     SELECT arg;
     -- 语句二:为参数赋值
     SET arg = 123;
 END
 delimiter ;
存储过程和存储函数的区别
  1. 存储函数在定义时需要显式用RETURNS语句标明返回的数据类型,而且在函数体中必须使用RETURN语句来显式指定返回的值,存储过程不需要。

  2. 存储函数的参数类型只能是IN,而存储过程支持IN、OUT、INOUT三种参数类型。

  3. 存储函数只能返回一个值,而存储过程可以通过设置多个OUT类型的参数来返回多个结果。

  4. 存储函数执行过程中产生的结果集并不会被显示到客户端,而存储过程执行过程中产生的结果集会被显示到客户端。

  5. 存储函数的调用直接使用在表达式中,而存储过程只能通过CALL语句来显式调用。

相关文章

  • MySQL 视图和存储程序

    MySQL 视图和存储程序 存储程序:存储函数、存储过程、触发器和事件的总称。 存储例程:存储函数+存储过程。 触...

  • 存储程序--存储过程

    原文链接-定义变量原文链接-存储函数原文链接-存储过程原文链接-游标简介原文链接-触发器和事件简介 存储函数和存储...

  • java数据库之存储过程

    一、存储过程简介 1.1存储过程描述 商业规则和业务逻辑可以通过程序存储在Oracle中,这个程序就是存储过程。 ...

  • PL/SQL之存储过程

    存储过程、存储函数和触发器 存储过程和存储函数定义:指存储在数据库中供所有用户程序调用的子程序叫存储过程或存储函数...

  • Oracle之存储过程与存储函数

    存储过程和存储函数指存储在数据库中供所有用户程序调用的子程序叫存储过程或者存储函数;存储过程和存储函数相同点:完成...

  • MYSQL高级特性之【存储过程与函数】

    一、定义 存储程序可以分为存储过程和函数。 1.1 存储过程的定义 存储过程(Stored Procedure)是...

  • Oracle存储过程与存储函数-入门

    一. 存储过程和存储函数的定义 定义:存储在数据库中,供所有用户程序调用的子程序叫做存储过程/存储函数。复杂点的解...

  • 数据库Mysql——存储过程

    1,什么是存储过程 存储过程 ,也翻译为存储程序,是一条或者多条SQL语句的集合 2,存储过程优点 1.存储过程可...

  • MySQL存储过程使用解析

    mysql存储过程 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一...

  • python-函数-变量

    变量 程序中临时存储数据的容器[程序运行过程中,可以存储数据,一旦程序停止运行,程序中 的变量中存储...

网友评论

      本文标题:存储程序--存储过程

      本文链接:https://www.haomeiwen.com/subject/yciiuctx.html