Rumah  >  Artikel  >  pangkalan data  >  mysql存储函数怎么用?

mysql存储函数怎么用?

藏色散人
藏色散人asal
2019-05-20 13:35:162368semak imbas

mysql存储函数怎么用?

什么是存储函数:

封装一段sql代码,完成一种特定的功能,返回结果。

存储函数的语法: 

  create function 函数([函数参数[,….]]) Returns 返回类型
  Begin
    If(
      Return (返回的数据)
    Else 
      Return (返回的数据)
    end if;
  end;

例如:

 create function count_news(hits int) returns int

与存储过程返回参数不同的是存储函数在定义时没用直接声明哪个变量是返回参数,而只是使用了returns声明了返回参数所属的数据类型,返回参数是在函数体中使用return返回要返回的数据变量的形式来表示的。这就需要注意的是:
存储函数只支持输入参数,并且输入参数前没有IN或INOUT.

存储函数中的限制

流控制(Flow-of-control)语句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的. 
变量声明(DECLARE)以及指派(SET)是合法的. 
允许条件声明. 
异常处理声明也是允许的. 
但是在这里要记住函数有受限条件:不能在函数中访问表.因此在函数中使用以下语句是非法的。 

ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE 
DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL 
LOCK OPTIMIZE REPAIR REPLACE REVOKE 
ROLLBACK SAVEPOINT 'SELECT FROM table' 
'SET system variable' 'SET TRANSACTION' 
SHOW 'START TRANSACTION' TRUNCATE UPDATE

相关学习推荐:mysql数据库

Atas ialah kandungan terperinci mysql存储函数怎么用?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:MySQL用户名怎么查看?Artikel seterusnya:mysqld是什么意思?