Я запускаю запрос обновления в ms-access 2013. Но этот запрос обновления будет выполняться для разных строк при разных условиях. Я знаю, что в Access мы не можем использовать условие «CASE ... WHEN». В доступе мы должны идти на коммутаторе() function.Below мой Update Query:Слишком мало параметров. Ожидаемый 2 В Talend
UPDATE T_Generated_OpportunityLine SET IsUploadable = Switch(
Lowestlevelvalue_c='PTLRC -Swiss CCO Standards' AND Amount_c>=5000,"Y",
Lowestlevelvalue_c='PTLRC -Swiss CCO Standards' AND Amount_c<5000,"N",
Lowestlevelvalue_c='PTWDA -Swiss WDE Standards' AND Amount_c>=5000,"Y",
Lowestlevelvalue_c='PTWDA -Swiss WDE Standards' AND Amount_c<5000,"N",
Lowestlevelvalue_c='PTFDS - FD ENCLOSURE SYSTEMS' AND Amount_c>=30000,"Y",
Lowestlevelvalue_c='PTFDS - FD ENCLOSURE SYSTEMS' AND Amount_c<30000,"N",
Lowestlevelvalue_c='PTCMS - CABLE MNGT SYSTEMS' AND Amount_c>=25000,"Y",
Lowestlevelvalue_c='PTCMS - CABLE MNGT SYSTEMS' AND Amount_c<25000,"N",
Lowestlevelvalue_c='DOOR ENTRY SYSTEM' AND Amount_c>=15000,"Y",
Lowestlevelvalue_c='DOOR ENTRY SYSTEM' AND Amount_c<15000,"N");
этот запрос работает должным образом от доступа 2013.But, когда я использую этот запрос в Talend5.4 в " tAccessRow "элемент, то я получаю следующий фрагмент ошибки:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2
Перед Update моей Строка таблицы выглядит следующим образом:
LowestLevelInPyramid_c Lowestlevelvalue_c LineStatus_c Quantity_c Amount_c LineClosedate_c IsUploadable
ProductLine PTLRC -Swiss CCO Standards Pending 1 9600 11/21/2013
После обновления он будет
LowestLevelInPyramid_c Lowestlevelvalue_c LineStatus_c Quantity_c Amount_c LineClosedate_c IsUploadable
ProductLine PTLRC -Swiss CCO Standards Pending 1 9600 11/21/2013 Y/N
это "Y/N" будет оцениваться на основе условие, как описано в вышеупомянутом запросе. Каждая строка обозначает возможностьLine. Через обновление я определяю, является ли конкретная строка загружаемой к системе CRM клиента или нет. Если ее «Y», то она будет загружаемой, если ее «N» тогда она не будет загружаемой.
Может ли кто-нибудь предоставить какое-либо подходящее решение для этого?
Не делайте этого в tAccessRow. Вместо этого поместите логику в tMap. – ydaetskcoR
, насколько я знаю, tMap обычно используется для сопоставления целей. И я пытаюсь обновить конкретный столбец таблицы через этот запрос. Как я могу реализовать это с помощью tMap? –
Ваше заявление об обновлении выглядит неясным для меня. Можете ли вы представить пример своих данных перед обновлением и как он будет выглядеть после этого? – ydaetskcoR