zoukankan      html  css  js  c++  java
  • Mysql自定义函数总结

    存储函数

    创建存储函数,需要使用CREATE FUNCTION语句,基本语法如下:

    CREATE FUNCTION func_name([func_parameter])
    RETURNS TYPE
    [characteristics...] routine_body

    CREATE FUNCTION为用来创建存储函数的关键字;func_name表示存储函数的名称

    func_parameter为存储函数的参数列表,参数列表如下

    其中,IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出;

    param_name表示参数名称;type表示参数类型,该类型可以是MYSQL数据库中的任意类型

    RETURNS TYPE语句表示函数返回数据的类型;characteristics:指定存储函数的特性,取值与创建存储过程时相同

    创建存储函数,名称为NameByT,该函数返回SELECT语句的查询结果,数值类型为字符串型

    CREATE FUNCTION SelectByT()
    RETURNS VARCHAR(255);
    RETURN (SELECT NAME FROM T3 WHERE ID=3);

    注意:RETURNS CHAR(50)数据类型的时候,RETURNS 是有S的,而RETURN (SELECT NAME FROM t3 WHERE id=2)的时候RETURN是没有S的

    所以有时候大家可能觉得MYSQL很烦,谁不知是自己写错了

    这里有一个方法,就是利用SQLYOG的代码格式化功能,选中要格式化的代码,然后按F12,如果能格式化,证明你的代码没有问题,如果不能格式化

    证明你写的代码有问题!!!

    调用函数

    变量的使用

    变量可以在子程序中声明并使用,这些变量的作用范围是在BEGIN...END程序中

    1、定义变量

    在存储过程中定义变量

    DECLARE var_name[,varname]...date_type[DEFAULT VALUE];

    var_name为局部变量的名称。DEFAULT VALUE子句给变量提供一个默认值。值除了可以被声明为一个常数外,还可以被指定为一个表达式。

    如果没有DEFAULT子句,初始值为NULL

    DECLARE MYPARAM INT DEFAULT 100;

    2、为变量赋值

    定义变量之后,为变量赋值可以改变变量的默认值,MYSQL中使用SET语句为变量赋值

    SET var_name=expr[,var_name=expr]...

    在存储过程中的SET语句是一般SET语句的扩展版本。

    被SET的变量可能是子程序内的变量,或者是全局服务器变量,如系统变量或者用户变量

    他运行SET a=x,b=y,....

    声明3个变量,分别为var1,var2和var3

    DECLARE par1,par2,par3 INT;
    SET par1=10,par2=10;
    SET par3=par1+par2;

    MYSQL中还可以通过SELECT...INTO为一个或多个变量赋值

    DECLARE NAME CHAR(50);
    DECLARE ID DECIMAL(8,2);
    SELECT NAME, ID INTO NAME ,ID FROM T3;
  • 相关阅读:
    django 开发Broken pipe from ('127.0.0.1', 58078)问题解决
    cocos2d-js中jsc逆向为js攻略
    ECshop 怎样修改商品详细页的“浏览次数”
    ecshop 加广告出现广告位的宽度值必须在1到1024之间
    Nginx 301重定向的配置
    ECSHOP安装百度编辑UEditor教程
    Ecshop商品详情页显示当前会员等级价格
    ECSHOP始终显示全部分类方法
    vps主机修改系统远程端口号/添加防火墙
    ecshop利用.htaccess实现301重定向的方法
  • 原文地址:https://www.cnblogs.com/tingbogiu/p/5632863.html
Copyright © 2011-2022 走看看