【发布时间】:2021-10-11 12:22:17
【问题描述】:
我创建了以下 postgres 函数
CREATE OR REPLACE FUNCTION public.fn(param TEXT)
RETURNS void
LANGUAGE plpgsql
AS
$$
DECLARE param TEXT;
BEGIN
DELETE FROM public."table_name"
WHERE "column_name" = param;
END
$$
我尝试将字符串作为参数传递:
293507407
<class 'str'>
但我总是遇到以下错误:
psycopg2.errors.UndefinedFunction: function fn(unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown) does not exist
LINE 1: SELECT * FROM fn('2','9','3','5','0','7','4','0'...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
'''
我已经尝试了所有可能的转换,无论是在我的 python 代码中还是在函数本身中。然而,没有任何运气。
我在这里做错了什么?
【问题讨论】:
-
你如何调用你的函数?
-
我使用:cursor.callproc(fn, param)
标签: python postgresql stored-functions