以下の informix sp を C# から呼び出したいのですが、コンパイルに問題があります。「2012-11-22」のような文字列と「08:15:00」のような 2 回の文字列を渡し、日付と 2 つの日時に変換したいのですが、正しい 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;