有两个表A B 根据字段A1=B1 条件 给B2字段改变固定值1。只要有相等的就把B2的值变成1. 这个存储过程怎么写 ,没接触过存储过程
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 中间就可以了