Tomcat database jpa matrix vector download menu vue修改样式 git视频 linux源码在线阅读 网络游戏server编程 mac上传文件到linux ajax里面可以嵌套ajax吗 mysql函数返回结果集 安装python python语言编程 python变量定义 python打开文件夹 java字符串 java文件写入 java如何编写接口 java定义字符串 linux命令 魔之符咒 js格式化时间 深入浅出通信原理 idea重命名快捷键 wine模拟器 上传附件 流程图工具 idea导出jar包 梦想世界答题器 excel后缀 进存销软件 极速pdf转word 熊猫关键词 python求平均值 js随机数 战地4配置要求 ap天赋
当前位置: 首页 > 学习教程  > 编程语言

存储过程

2020/7/24 9:12:49 文章标签:

一、创建过程

1.定义参数:

三种类型,输入参数IN,输出参数OUT,输入输出参数INOUT,其中:

IN:参数的默认模式,在程序运行时,已经有具体值,在程序体中值不会变;

OUT:只能在过程体内部赋值,表示该参数可传回给调用它的存储过程;

INOUT:上述两者的结合

CREATE PROCEDURE p_name (

    IN var0  VARCHAR(100),
    OUT var1 VARCHAR(100),
    INOUT var2 VARCHAR(100)
    )

2.定义变量

用DECLARE关键字定义存储过程中使用到的变量,可以用DEFAULT关键字赋初始值

CREATE PROCEDURE p_name (

    IN var0  VARCHAR(100),
    OUT var1 VARCHAR(100),
    INOUT var2 VARCHAR(100)
    )
BEGIN
    DECLARE a INTEGER DEFALUT 0;
    DECLARE b VARCHAR(10);
    --other sql statements--;
END

3.异常处理

①BEGIN ATOMIC ... END语句的使用,作用是BEGIN到END之间的语句作为一个原子执行,若其中的某条语句发生错误,则整个操作全部回滚

②自定义异常:DECLARE condition_name CONDITION FOR SQLSTATE sqlstate_value,其中sqlstate_value是以7-9或T-Z开头的

③异常捕捉:DECLATE CONTINUE | EXIT | UNDO HANDLER FRO 异常 | sqlstate_value语句,然后用BEGIN...END语句,其内部为异常处理的语句。注意,EXIT语句只跳出HANDLER所在的BEGIN...END模块,FOR后面的“异常”可以指SQLEXCEPTION、SQLWARNING、NOT FOUND、其它自定义异常。

CREATE PROCEDURE p_name (

    IN var0  VARCHAR(100),
    OUT var1 VARCHAR(100),
    INOUT var2 VARCHAR(100)
    )
BEGIN
    DECLARE a INTEGER DEFALUT 0;
    DECLARE b VARCHAR(10);
    --other sql statements--;

    --异常处理
    BEGIN ATOMIC
    DECLARE UNDO HANDLER FOR SQLEXCEPTION
    BEGIN
        --异常处理操作
    END;
           
END;

4.变量赋值

为上面定义的变量进行赋值,方便后续使用,用SET关键字

CREATE PROCEDURE p_name (

    IN var0  VARCHAR(100),
    OUT var1 VARCHAR(100),
    INOUT var2 VARCHAR(100)
    )
BEGIN

    --定义变量
    DECLARE a INTEGER DEFALUT 0;
    DECLARE b VARCHAR(10);
    --other sql statements--;

    --异常处理
    BEGIN ATOMIC
    DECLARE UNDO HANDLER FOR SQLEXCEPTION
    BEGIN
        --异常处理操作
    END;
   
    --变量赋值
    SET a = 1;
    SET b = 'abc';
  
    
    --对表操作的语句,获得自己想要的数据内容       
END;

5.前期准备做好后,存储过程就是对多个表进行操作,获取自己想要的数据内容

参考(https://jingyan.baidu.com/article/86fae346fbfe2c3c49121ae8.html   / https://www.cnblogs.com/millen/archive/2011/10/21/2220521.html)


本文链接: http://www.dtmao.cc/news_show_50022.shtml

附件下载

上一篇:学习日志

下一篇:HDMI编码规则

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?