菜鸟求助存储过程怎么写

有两个表A B 根据字段A1=B1 条件 给B2字段改变固定值1。只要有相等的就把B2的值变成1. 这个存储过程怎么写 ,没接触过存储过程

2个回答

 MySQL的,其他也类似
1、创建存储过程:

    >CREATE PROCEDURE pro(

    >IN num INT,OUT total INT)

    >BEGIN

    >SELECT SUM(score) INTO total FROM tb_name WHERE id=num;

    >END;

   ***这里的 IN (传递一个值给存储过程),OUT(从存储过程传出一个值),INOUT(对存储过程传入、传出),INTO(保存变量)

  2、调用存储过程:

    >CALL pro(13,@total)      //这里的存储过程两个变量,一个是IN一个是OUT,这里的OUT也是需要写上的,不写会出错

    >SELECT @total         //这里就可以看到结果了;

  3、存储过程的其他操作:

    >SHOW PROCEDURE STATUS;      //显示当期的存储过程

    >DROP PROCEDURE pro;         //删除指定存储过程

为什么要存储过程,一句sql不就搞定。
update b set b2=1
where exists(
select 1 from a where a.a1=b.b1
)。
如果非要存储过程放到begin end 中间就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问