나는 ms 액세스 2013에서 업데이트 쿼리를 실행하고 있습니다. 그러나이 업데이트 쿼리는 다른 조건에서 다른 행에 대해 실행됩니다. Access에서 우리는 "CASE ... WHEN"조건을 사용할 수 없음을 알고 있습니다. 액세스시 우리가 스위치 갈 필요() function.Below 내 업데이트 쿼리입니다 :이 쿼리 "는에 Talend5.4에 액세스 내가이 쿼리를 사용하고 2013.But에서 제대로 실행매개 변수가 너무 적습니다. 예상 Talend에서 2
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");
tAccessRow "요소를 사용하면 다음 오류가 발생합니다.
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2
는 업데이트 전에 내 테이블 행은 다음과 같습니다
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"가에 따라 평가됩니다 조건은 위의 쿼리에서 설명한대로. 여기 각 행은 opportunityLine을 나타냅니다. 업데이트를 통해 특정 행을 업로드 할 수 있는지 여부를 결정합니다. 고객 CRM 시스템 또는 아닙니다. 'Y'이면 업로드 가능한 "N"이면 업로드 할 수 있습니다.
누구나 적절한 솔루션을 제공 할 수 있습니까 ??
tAccessRow에서이 작업을 수행하지 마십시오. 논리를 대신 tMap에 넣으십시오. – ydaetskcoR
글쎄 최대한 tMap은 일반적으로 목적을 매핑하는 데 사용됩니다. 나는이 쿼리를 통해 테이블의 특정 컬럼을 업데이트하려고합니다. 어떻게 tMap을 사용하여 구현할 수 있습니까? –
업데이트 진술이 나에게 불분명 해 보입니다. 업데이트하기 전에 데이터의 예를 제공하고 이후에 어떻게 표시해야합니까? – ydaetskcoR