zoukankan      html  css  js  c++  java
  • mysql存储过程

    delimiter $$ -- 不带参数的存储过程  
        create procedure select_emp_count() 
            begin 
                select count(0) from emp; 
            end ;;
            
    delimiter $$   -- 带参数的存储过程 
        create procedure select_em_in(in  ename varchar(255))
            begin
                select * from emp where ename=ename;
                end;;
    call select_em_in('smith');
    

    MySQL 支持 in (传递给存储过程),out (从存储过程传出) 和 inout (对存储过程传入和传出) 类型的参数。存储过程的代码位于 begin 和 end 语句内,它们是一系列 select 语句,

    用来检索值,然后保存到相应的变量 (通过 into 关键字)

    delimiter ;;
        create procedure select_emp_inout(
        in _ename varchar(222),
        out _deptno varchar(22),
        inout _empno varchar(222)
        )
            begin 
                select deptno from emp where ename=_ename and empno=_empno into _deptno; 
            end;;
    set @_empno = '7499';
    set @_name = 'ALLEN';
    call select_emp_inout(@_name, @_deptno,  @_empno);
    select @_deptno as deptno, @_empno as empno;  

    • IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)
    • OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)
    • INOUT 输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)
  • 相关阅读:
    第10组 Beta冲刺 (3/5)
    第10组 Beta冲刺 (2/5)
    第10组 Beta冲刺 (1/5)
    软工实践个人总结
    第03组 每周小结(3/3)
    第03组 每周小结(2/3)
    第03组 每周小结(1/3)
    第03组 Beta冲刺 总结
    第03组 Beta冲刺 (5/5)
    第03组 Beta冲刺 (4/5)
  • 原文地址:https://www.cnblogs.com/hellohero55/p/12115968.html
Copyright © 2011-2022 走看看