zoukankan      html  css  js  c++  java
  • 开始Mysql(关于存储过程)3

    涉及到数据库不用存储过程肯定是不行的 下面简单写2个存储过程 接着前面的数据库

     1 不带输出参数的  (添加用户)

    drop procedure if exists proc_add;
    create procedure proc_add(uid varchar(50),pwd varchar(20),name varchar(20))
    begin
    insert into T_user (U_uid,U_pwd,U_name) values(uid,pwd,name);
    end;
    call proc_add(
    'abcd','123','用户1');
    select * from T_user;


     注意几点:

    变量不需要加@

    存储过程名字后面的“()”是必须的,即使没有一个参数,也需要“()”

    不用加as关键字

    存储过程中包含多条 MySQL 语句,则需要 begin end 关键字。

    存储过程中的每条语句的末尾,都要加上分号 “;”

    不能在 MySQL 存储过程中使用 “return” 关键字。

     2 带输出参数的存储过程 (用户登陆)

    drop procedure if exists proc_login;
    create procedure proc_login(
    uid 
    varchar(50),
    pwd 
    varchar(20),
    out back 
    int   -- 0失败 1成功
    )
    begin
    select U_uid  from t_user where U_uid=uid and U_pwd=pwd;
    set @rowcount=found_rows();
    if (@rowcount>0then
    set back=1;
    else
    set back=0;
    end if;
    end;
    call proc_login(
    'admin','123',@b);
    select @b as bbb;
    返回select操作的行数用found_rows()函数;insert、update、delete等操作影响的行数用row_count()函数。
  • 相关阅读:
    codeforces 55d记忆化搜索
    codeforces 698b 图论
    codeforces 716d 图论加二分
    求多边形面积模板***
    hdu 5869 区间gcd的求法及应用
    codeforces 589a(构造的字符串后,最后要加终止符,,,)
    凸包模板***
    2014ACM-ICPC 西安赛区总结
    Codeforces 475D CGCDSSQ(分治)
    Acdream1217 Cracking' RSA(高斯消元)
  • 原文地址:https://www.cnblogs.com/bobofsj11/p/1629804.html
Copyright © 2011-2022 走看看