在提供的代码中,进行了尝试调用函数FnUpdateSalegtab09。但是,遇到错误,表明该函数不存在或参数类型与预期不匹配。
错误消息表明函数名称或参数类型可能不正确。让我们调查一下可能的原因。
FnUpdateSalegtab09 的函数签名指定其多个参数的类型为smallint。但是,在函数调用中,这些参数作为数字文字传递,最初假定其类型为整数。
参数的预期类型和实际类型之间的不匹配可能会导致错误。
要解决此问题,您需要在将数字文字传递给函数之前将其显式转换为正确的类型,smallint。您可以通过向每个文字添加类型转换运算符 (::) 来实现此目的,如下所示:
select FnUpdateSalegtab09( 4, 1, 0, 12, 1, '9'::varchar, '2014-07-15'::timestamp, 4048, '9'::varchar, 4048, 'MYCUSTOMER'::varchar, 12::money, 0, 0::money, 0.32, 185, 0, '2014-07-15 11:24:12 AM'::timestamp, 0, 0::money, 0, 0::money, 0::money, 0, 0::money, 0, 0::money, 0, 0::money, ''::varchar, 0::money, False, ''::varchar, '2014-07-15'::timestamp, ''::varchar, ''::varchar, False, ''::varchar, ''::varchar, 1, ''::varchar, 1, 0, 1, 0, 42 );
通过添加显式类型转换,您可以确保参数类型与函数的期望匹配定义,并且函数调用现在执行时应该不会出现“函数...不存在”错误。
以上是为什么我的 SQL 函数调用失败并显示'函数...不存在”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!