34-删除存储过程和函数

DROP {PROCEFURE|FUNCTION} [IF EXISTS] sp_name

例子:

DROP PROCEDURE CountProc;
DROP FUNCTION CountProc;

MySQL存储过程和函数有什么区别?

  • 本质上它们都是存储程序
  • 函数只能通过return语句返回单个值或者表对象;二存储过程不允许执行return语句,但是可以通过out参数返回多个值
  • 函数限制比较多,不能使用临时表,只能使用变量,还有一些函数都不可以用等等;而存储过程的限制相对就比较少
  • 函数可以嵌入在SQL语句中使用,可以在SELECT与剧中作为查询语句的一个部分调用;而存储过程一般是作为一个独立的部分来执行

MySQL还不提供对已存在的存储过程代码的修改

存储过程中可以调用其他存储过程吗?

  • 存储过程包含用户定义的SQL语句集合,可以使用CALL语句调用存储过程,当然在存储过程中也可以使用CALL语句调用其他存储过程,但是不能使用DROP语句删除其他存储过程

在定义存储过程参数列表时,应注意吧参数名与数据库表中的字段名区分开来,否则将会出现无法预期的效果

存储过程的参数可以使用中文吗?

  • 存储过程可以传入中文,这是需要在定义存储过程的时候,在后边加上character set gbk,不然调用存储过程使用中文参数回出错;例如: CAREATE RPROCEDURE userInfo(IN u_name VARCHAR(50) character set gbk,OUT u_age INT)

转载于:https://my.oschina.net/majorx/blog/3066371

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值