mysql存储过程的3种参数模型详细说明

来源:互联网 发布:基德2011总决赛数据 编辑:程序博客网 时间:2024/05/29 07:47
 JSON Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
mysql存储过程的3种参数模型详细说明
--IN 只读模式
--OUT 可写模式
--INOUT 可读写模式

IN
    除非被具体定义,否则参数都假定 IN 属性。这意味这他们的值必须被主叫程序所指定,并且任何在存储程序内部
    对该参数的修改都不能在主叫程序中起作用(类似于JAVA编程中的值传递,在方法内部修改这个参数后主调方法中的该变量不受影响)
OUT
    一个 OUT 参数可以被存储程序所修改,并且这个被修改的值可以在主叫程序中生效,主叫程序必须提供一个变量来
    接受由 OUT 参数输出的内容,但是存储程序本身并没有对这个可能已经初始化的变量的操作权限,当存储程序开始
    时,任何 OUT 变量的值都被赋值为 NULL,不管这个值在主叫程序中是否被赋予其他值。
    (OUT类型的参数只用来做返回值,不管这个值之前有没有被赋值,存储过程都会把它设置为NULL)

    CREATE PROCEDURE P11(OUT T1 VARCHAR(10),IN FLAG INT)
    BEGIN
        IF FLAG=1 THEN 
            SET T1='CHANGED..';
        END IF;
    END $$

    MYSQL>> SET @T1='CRUDE..';
    MYSQL>> CALL P11(@T1,2);
    MYSQL>> SELECT @T1 ; --> NULL P11存储过程没有做任何处理,@T1自动转换为NULL
     
    MYSQL>> CALL P11(@T1,1);
    MYSQL>> SELECT @T1 ; --> 'CHANGED..'    
INOUT
    INOUT 参数同时扮演着 IN 和 OUT 参数的角色。那意味着,主叫程序可以提供一个值,而被叫程序自身可以修改这
    个参数的值,并且当存储程序结束时主叫程序对该修改后的值具有访问权限
    CREATE PROCEDURE P12(INOUT VALUE VARCHAR(20),IN FLAG INT)
    BEGIN
        IF FLAG=1 THEN
            SET VALUE='CHANGED...';
        END IF;
    END $$
    
        MYSQL>> SET @T1='CRUDE...';
        MYSQL>> CALL P11(@T1,2);
        MYSQL>> SELECT @T1 ; --> CRUDE... P11存储过程没有做任何处理,INOUT类型的@T1为原来的值(IN类型参数的特性)
        
        MYSQL>> CALL P11(@T1,1);
        MYSQL>> SELECT @T1 ; --> 'CHANGED..' 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 6岁儿童不爱吃饭怎么办 2岁半宝宝不吃饭怎么办 一年级的孩子不爱学习怎么办 小孩不爱写作业怎么办啊 孩子不爱看书怎么办如何教育 2岁宝宝不爱看书怎么办 儿媳妇比儿子年龄大我不喜欢怎么办 不喜欢儿子却生了儿子怎么办 静不下心来看书怎么办 孩子爱玩不爱学怎么办 孩子爱玩不爱学习怎么办 孩子爱玩手机不爱学习怎么办 照四维宝宝太活泼了怎么办 胎宝宝太活泼了怎么办 7个月宝宝太活泼怎么办 我是个初中生不想上学怎么办 3岁宝宝不肯说话怎么办 两周宝宝不爱吃饭怎么办 小孩不喜欢吃水果蔬菜怎么办 孩子对学习不感兴趣怎么办 幼儿园老师不喜欢我孩子怎么办 孩子数学不主动思考问题怎么办 孩子做事慢磨蹭家长应该怎么办 孩子不写作业怎么办啊 对孩子在校被欺怎么办 二年级的孩子不爱学习怎么办 孩子不爱学习怎么办二年级 二年级孩子不爱写作业怎么办 孩子喜欢的朋友家长不喜欢怎么办? 孩子不喜欢上幼儿园家长怎么办 孩子不喜欢家长学佛怎么办呢? 学生家长讨厌老师老师该怎么办 孩子不爱去幼儿园总是哭怎么办 孩子学习一点都不主动怎么办 孩子怕老师不想上学怎么办 幼儿园孩子怕老师不想上学怎么办 孩子在幼儿园怕老师怎么办 幼儿园老师对孩子有歧视怎么办 儿子在幼儿园受到老师歧视怎么办 我把老师骂了怎么办 孩子讨厌老师骂老师怎么办