考虑以下错误消息:
ERROR: function fnupdatesalegtab09(integer, integer, integer, integer, integer, unknown, unknown, integer, unknown, integer, unknown, integer, integer, integer, numeric, integer, integer, unknown, integer, integer, integer, integer, integer, integer, integer, integer, integer, integer, integer, unknown, integer, boolean, unknown, unknown, unknown, unknown, boolean, unknown, unknown, integer, unknown, integer, integer, integer, integer, integer) does not exist LINE 1: select FnUpdateSalegtab09 (4, 1, 0, 12, 1, '9','2014-07-15',... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.
在这种情况下,尝试被用来调用带有特定参数的名为 FnUpdateSalegtab09 的函数。但是,该错误表明该函数不存在。此外,该错误表明没有与指定名称和参数类型匹配的函数。
该错误可能是由于转换问题造成的。在函数调用中,数字文字用于在函数定义中定义为smallint 的参数。如果数字文字的值适合整数类型,则最初假定其为整数类型。由于没有提供显式类型转换,这可能会导致预期参数类型与实际参数类型不匹配。
要解决此问题,请将显式类型转换添加到数字文字中函数调用以匹配预期的smallint数据类型。或者,您可以在函数调用中使用带引号(无类型)文字。
错误调用:
SELECT * FROM f_typetest(1);
正确通话:
SELECT * FROM f_typetest('1'); SELECT * FROM f_typetest(smallint '1'); SELECT * FROM f_typetest(1::int2); SELECT * FROM f_typetest('1'::int2);
通过制作这些调整后,函数调用现在应该可以被识别并执行,不会出现错误。
以上是为什么 My SQL 函数调用失败并出现'函数不存在”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!