好吧,在大学里,我正在做一些SQL作业,但我不知道这里出了什么问题。坚持了几个小时。
在这里,我创建了一个函数:
CREATE OR REPLACE FUNCTION ins_notitie(pn_patient_nr VARCHAR, pn_notitie_datum DATE, pn_notitie_commentaar VARCHAR, lst_bijwerkdat DATE)
RETURNS void AS
$$
INSERT INTO patient_notitie(pn_patient_nr, pn_notitie_datum, pn_notitie_commentaar, lst_bijwerkdat)
VALUES ($1, $2, $3, $4)
$$
LANGUAGE sql;然后我尝试插入一个新行:
SELECT ins_notitie('100001', now(), 'Test note', now());继续得到这个错误:
错误:函数ins_notitie(未知,时间戳带时区,未知,时间戳带时区)不存在。 第1行:选择ins_notitie('100001',now(),'Test‘,now(); 商业、商业、金融、金融、商业、金融等行业的商品、金融等行业的商品、商品、金融、商业、金融、金融、商业、金融等行业的商品、商业、金融、商业、金融等领域的 提示:没有任何函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。 *错误*错误:函数ins_notitie(未知,时间戳带时区,未知,时间戳带时区)不存在 SQL状态: 42883 提示:没有任何函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。 性格:8
正如我在postgresql的GUI中所看到的那样,这个函数确实被创建了。
发布于 2015-09-19 18:02:41
正如错误说的那样,它找不到带有您给定的参数类型的函数。now()返回时间戳,而不是日期,并且找不到接受时间戳的函数。
您将能够使用now()::date调用该函数。
https://stackoverflow.com/questions/32671492
复制相似问题