斯潘8
斯潘4
下一个查询将导致错误(ORA-00900:无效的SQL语句)。
fme_sql_delimiter/begin update tbx.ext_compare_person set gesnam_d=tbx.diakriet_cip(gesnam_d,sourcekey,'gnaam'),gesvor=tbx.diakriet_cip(gesvor,sourcekey,'vnaam'),gesnam_d_p=tbx.diakriet_cip(gesnam_d_partner,sourcekey,'gnaam_p'),其中organizationcode='abdc'和applicationcode='abc';结束;/承诺;/
奥斯卡,
谢谢你的回答。
我需要sql执行器基于一个函数(diakriet_cip)更新oracle中的几个列。首先我试过:
fme_sql_分隔符;更新tbx.ext_compare_person set gesnam_d=tbx.diakriet_cip(gesnam_d,sourcekey,'gnaam'),gesvor=tbx.diakriet_cip(gesvor,sourcekey,'vnaam'),gesnam_d_p=tbx.diakriet_cip(gesnam_d_partner,sourcekey,'gnaam_p'),其中organizationcode='abdc'和applicationcode='abc';承诺;
fme_sql_delimiter/update tbx.ext_compare_person set gesnam_d=tbx.diakriet_cip(gesnam_d,sourcekey,'gnaam'),gesvor=tbx.diakriet_cip(gesvor,sourcekey,'vnaam'),gesnam_d_p=tbx.diakriet_cip(gesnam_d_partner,sourcekey,'gnaam_p'),其中organizationcode='abdc'和applicationcode='abc';承诺;/
FME_SQL_DELIMITER /声明i号:= 0;set column = 'testvalue';我:sql = % rowcount;结束;/解决方法是创建一个带有列结果的表结果并添加一个空记录。然后将值i更新为表结果列结果,然后添加另一个SQLExecutor来读取表结果列结果。
FME_SQL_DELIMITER /声明i号:= 0;set column = 'testvalue';我:sql = % rowcount;更新结果集RESULT = (i);结束;/它确实有效,但感觉不太好。
fme_sql_分隔符用于指示将一个sql语句与另一个sql语句分隔开的字符。
通常是“;”。
我不知道你在用“/”字符做什么。
更多信息请点击此处:https://knowledge.亚搏在线safe.com/articles/516/spliting-sql-statements-using-the-fme-sql-delime.html
?2019安全亚搏在线软件公司|法律