mySQL(7)-存储过程

创建与调用。
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()

 

posted @ 2020-05-09 20:00  jasmineTang  阅读(45)  评论(0)    收藏  举报