zoukankan      html  css  js  c++  java
  • MySQL存储过程和函数

    存储过程和函数的区别

    • 存储过程可以返回多个值,而函数可以返回一个
    • 函数可以嵌入到sql中使用,可以使用select调用;而存储过程不可以
    • 本质差不多

    创建存储过程和函数

    • CREATE PROCEDURE/CREATE FUNCTION
    • 举例子之前,补充SQL中delimiter的用法,delimiter命令用于改变解释器的结束符。例如在定义函数过程中,在函数体内可能出现SQL默认的";"结束符,一旦输入,解释器就开始执行,但是很显然有时候其时并没有定义结束,所以定义函数或者过程之前一般要使用delimiter重定义结束符
    • 定义过程示例。e.g.:如前所述,先把默认结束符换掉,执行delimiter //,然后执行CREATE PROCEDURE simpleporc (OUT param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM t END //调用:CALL simpleproc(@a);
    • 定义函数示例。e.g.:CREATE FUNCTION hello(s CHAR(20)) RETURNS CHAR(50) RETURN CONCAT('Hello,',s,'!');//(当然,也要把结束符先换掉)

    修改存储过程和函数

    • ALTER PROCEDURE/ALTER FUNCTION

    删除存储过程和函数

    • DROP PROCEDURE/DROP FUNCTION

    SHOW CREATE PROCEDURE/SHOW CREATE FUNCTION


    SHOW PROCEDURE STATUS/SHOW FUNCTION STATUS


    其它

    • CALL
    • BEGIN ... END
    • DECLARE声明变量等
    • CASE
    • LOOP
    • LEAVE
    • ITERATE
    • REPEAT
    • WHILE
  • 相关阅读:
    449. Serialize and Deserialize BST
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    240. Search a 2D Matrix II
    5. Longest Palindromic Substring
    数位DP专题(开坑。
    POJ 2356
    HDU 4055
    HDU 4054
    HDU 1559
  • 原文地址:https://www.cnblogs.com/mengnan/p/6790434.html
Copyright © 2011-2022 走看看