创建与调用。
1.无参创建
2.有参创建
3.结果集与out
4.python的调用
1.无参创建
delimiter //
create procedure p1()
BEGIN
select * from t1;
Insert into teacher(tname) values("ct");
END//
delimiter ;
call p1()
cursor.callproc('p1') -- 程序里调用
2.有参创建
delimiter //
create procedure p1(
in in1 int,
in in2 int,
out r1 int,
inout i3 int
)
BEGIN
DECLARE temp1 int;
DECLARE temp2 int default 0;
set temp1 = 1;
set r1 = i1 + i2 + temp1 + temp2;
set i3 = i3 + 100;
end//
delimiter ;
call p2(12,2)
cursor.callproc('p2',(12,2)) -- 程序里调用
3.结果集与out
set @v1=0; --全局变量 引用
call p2(12,@v1)
@v1 --外部可以获取到,并已经修改了。
cursor.execute('select @_p2_0,@_p2_1')
r2=cursor.fetchall()
cursor.callproc('p3',(12,2))
r1=cursor.fetchall()
4.python的调用
import pymysql
conn=pymysql.connect(host="localhost",user='root',password='',database='frist')
cursor=conn.cursor()
cursor.callproc('p1')
cursor.commit()
result=cursor.fetchall() # 返回结果集
cursor.close()
conn.close()