当前位置:首页 > 开发 > 数据库 > 正文

mysql error 1415:not allowed to return a result set from a function

发表于: 2013-10-29   作者:boonya   来源:转载   浏览次数:
摘要: 存储过程与函数有相似之处但是,却又不尽相同,先看看存储过程的例子和函数书写的例子对照看下就知道了。 1、书写存储过程 DROP PROCEDURE IF EXISTS count_has_same_name_proc; CREATE PROCEDURE count_has_same_name_proc (xname VARCHAR(50 ) )
存储过程与函数有相似之处但是,却又不尽相同,先看看存储过程的例子和函数书写的例子对照看下就知道了。
1、书写存储过程

DROP PROCEDURE   IF      EXISTS  count_has_same_name_proc;


CREATE PROCEDURE count_has_same_name_proc (xname VARCHAR(50 ) )

  BEGIN
	  
    SELECT  COUNT(* )  FROM t_user WHERE name  = xname;
    
  END;

2、函数书写执行
错误写法
DROP   FUNCTION   IF      EXISTS  count_has_same_name_func;

CREATE    FUNCTION count_has_same_name_func ( xname  VARCHAR(50 ) ) 
RETURNS  INT
  
    BEGIN
             
	      SELECT   COUNT(id )   FROM t_user WHERE name = xname;
    END;

正确写法
DROP   FUNCTION   IF      EXISTS  count_has_same_name_func;

CREATE    FUNCTION count_has_same_name_func ( xname  VARCHAR(50 ) ) 
RETURNS  INT
  
    BEGIN
             
              DECLARE  s  INT ;
	      SELECT   COUNT(id ) into s  FROM t_user WHERE name  = xname;
	      RETURN s;
    END;

注:trigger和function都需要写成 select ...into  这种句式,否者会报1415错误。

mysql error 1415:not allowed to return a result set from a function

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
最近发现myeclipse10中有几处bug 比如: Cannot return from outside a function or method onClick
最近发现myeclipse10中有几处bug 比如: Cannot return from outside a function or method onClick
在使用JDBC调用SQLServer执行Store Procedure时,遇到以下错误: com.microsoft.sqlserver.jdbc.SQL
最近发现myeclipse10中有几处bug 比如: Cannot return from outside a function or method onClick
1.打开 >> Myeclipse或Eclipse.(我使用的是Myeclipse) 2.打开 >> Window >> Pref
最近上头交给我个任务,把WINDOWS平台下开发的网站,部署在LINUX环境上。 把mysql安装好了,所有表
使用navicat工具链接数据库,打开表时弹出提示,mysql的“Got error 28 from storage engine”错误
在使用mysqldump导出一份建库脚本是,发生了下面的错误: 当执行 desc table_name; 时也报错: tag
项目框架:springmvc+spring3+mybatis 数据库:mysql5.5 服务器是阿里云的,但实际上阿里云的机器是
10 Result
Action方法被调用后,返回结果字符串,用它来匹配xml中定义的resultType的name属性,如果匹配上则使
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号