我想从 c# 调用下面的 informix sp,但无法编译它。我想向它传递一个像'2012-11-22'这样的字符串和两次像'08:15:00'这样的字符串,并将它们转换为一个日期和两个日期时间,但我似乎找不到正确的informix函数。我花了一整天的时间试图弄清楚这一点,感谢任何帮助。
不确定下面的代码是否会编译,因为我必须删除一些敏感部分,但我希望它足以给你这个想法。
我认为 TO_DATE 函数不正确
create procedure up_myproc(
calndr_dt CHAR(15)
, actvty_typ CHAR(5)
, actvty_start_tm CHAR(15)
, actvty_end_tm CHAR(15)
, actvty_cap SMALLINT
)
DEFINE calendar_activity_id int;
DEFINE activity_details_id int;
-- calendar activity
insert into caa61140 (
caa61140001
, caa61140004
, caa61140005
)
values (
0
, org_id
, DATE(calndr_dt)
);
LET calendar_activity_id = DBINFO('sqlca.sqlerrd1');
-- activity details
insert into caa61240 (
caa61240001
, caa61240002
, caa61240003
, caa61240004
)
values (
0
,calendar_activity_id
, TO_DATE(actvty_start_tm, "%H:%M" )
, TO_DATE (actvty_end_tm, "%H:%M" )
);
LET activity_details_id = DBINFO('sqlca.sqlerrd1');
-- calendar matter
insert into caa61340(caa61340001
, caa61340002)
SELECT activity_details_id
, caa60840003 matter_typ
FROM caa60840 -- valid matter types;
WHERE caa60840001=org_id
AND caa60840002=actvty_typ;
end procedure;