我试图写一个存储的过程,输入发票号。 和日期,并尝试将日期更新为表格行。 如果成功,则应返回1,如果失败则应返回0。我的代码如下。 我得到的是它总是返回1,但仅在日期有效时才更新表。 如果更新不成功,我希望它返回0。 感谢任何帮助,谢谢。

CREATE DEFINER=`root`@`localhost` FUNCTION `invoice_paid_date`(`inv_no` INT,    
     `date_paid` DATE)
  RETURNS SMALLINT
  LANGUAGE SQL
  DETERMINISTIC
  CONTAINS SQL
  SQL SECURITY DEFINER
  COMMENT 'attempt to update paid_date in table invoice'
BEGIN
   declare exit handler for sqlwarning, sqlexception  return 0;
   update invoice set paid_date = date_paid where invoice_no = inv_no;
return 1;
END

===============>>#1 票数:0

尝试这个:

CREATE DEFINER=`root`@`localhost` FUNCTION `invoice_paid_date`(`inv_no` INT,    
         `date_paid` DATE)
      RETURNS SMALLINT
      LANGUAGE SQL
      DETERMINISTIC
      CONTAINS SQL
      SQL SECURITY DEFINER
      COMMENT 'attempt to update paid_date in table invoice'
    BEGIN
       DECLARE id INT DEFAULT 1;
       DECLARE EXIT HANDLER FOR SQLEXCEPTION SQLWARNING
       BEGIN
           SET id = 0;
           RETURN 0;
       END;

       IF id = 1 THEN
           update invoice set paid_date = date_paid where invoice_no = inv_no;
           return 1;
       END IF;
    END

  ask by user3152824 translate from so

未解决问题?本站智能推荐:

2回复

连接MySQL的C客户端程序中的错误检测

我的C客户端程序与MySQL服务器连接。 我可以连接,但是在尝试实现错误检测代码时会出现问题。 如果执行以下操作(在此我故意放置了错误的用户名): 现在输出到该程序: ./db_access与MySQL的连接失败! 错误代码:1045 28000用户'rooti'@'loca
1回复

MySQL递归周期检测程序

我有以下程序,用于检测带有边(单边)和边集(边集)的无向图中的循环。 还有两个参数,left_set(用于存储要传递到递归的必要边)和循环(这是一个布尔值,最终确定图是否是循环的)。 出于某种原因,检测在第一次递归之后不起作用。 以下代码包含解释详细信息的注释: 我在MYSQL中
1回复

检测mysql错误而不执行它

假设我查询“ UPDATE table SET etc etc ” 然后我“执行”这个查询 如果查询正常,则执行,如果查询有错误,则返回mysql错误 我的问题是......有没有办法做到以下几点: 如果查询有错误,它将返回mysql错误。 但是,如果查询正常,请不要执
2回复

使用PDO驱动程序检测错误/无效/非法查询(MySQL + PHP)

我只是将我的所有代码从旧的mysql驱动程序更改为PDO。 到目前为止,我发现很多基本功能都不存在! 防爆。 没有等同于mysql_num_row ..等等(但这不是这篇文章的重点:/) 通常使用mysql驱动程序,我会这样做: 你如何使用PDO做类似的事情?
2回复

如何在mysql中检测错误的字符编码

我有一个带有一些导入数据的UTF-8数据库。 某些错误输入的数据,具有错误的字符,即代替Nürburgring=>Nürburgring 看来我要手动更正这些行...所以无论如何都可以通过选择来查找这些行?
4回复

mysql上的语法错误,无法检测其位置:

作为商场背景: 这是我在字符串中寻找关键字的查询。 我用“”空格将字符串爆炸: 然后我用逗号将它们分开: 然后我执行查询: 我执行查询: 我收到以下错误: 第21行是: 第27行是: 据我所知,这是查询的正确语法,但是phpmy
1回复

MySQL的。 程序,语法错误

我正在尝试学习程序的工作方式,但出现错误,我不知道为什么。 我有此过程,并且在“ END //”所在的行上出现错误。 该错误听起来像这样: 如果添加“ BEGIN”,则代码如下: 错误看起来像这样: 语法有什么问题? 有人可以解释吗?
1回复

程序在mysql中给出错误

我在phpmyadmin中使用和不使用定界符尝试了以下代码。 我出席时似乎拒绝了分隔符。 我正在使用1和1托管,而MySQL版本是5.0 我专门得到的错误代码是#1064 - You have an error in your SQL syntax; check the manua
1回复

错误程序mysql db

我已经在兽医诊所的数据库中创建了一个程序,该程序显示了什么:第一次约会,第一次是由兽医授权执行的服务(不能同时预定其他约会)。 但是,当我调用此过程时,游标停止,因为eof的值为1,但它并未真正看到所有记录:游标在行尾之前离开循环! 我不明白为什么。 这是代码:
3回复

MySQL JDBC驱动程序错误

我一直在 至 在NetBeans上,看不出原因! MySQL在JPA上正常运行。 我是否需要JDBC的其他设置? 烧了我很多时间! TIA