po_header_id, order_no, site, item_no, part_no, status, qty, umid, convert_factor, price, base_price, want_receive_date, tax_rate, tax, additional_cost, freight, duty, arrive_qty, receive_qty, qty_returned, qty_replace, qty_scrapt, invoice_qty, approve_result, need_inspect_flag, remark, iqc_qty, last_update_by, pr_convert_note, inspect_type_db, inspect_type, inspect_qty, inspect_percent, inspection_level_no, close_tolerance, over_receive_tolerance, item, c_value, c_ship_qty, c_sum_price, c_narrival, c_crd, c_inspection, c_real_crd, c_eta, c_flexid, c_obd, c_doc_sent, c_telex_release, c_advance_payment, c_advance_paid, create_time, c_planner, c_edit, c_end_planner, c_remark_delay, qty_cancelled, inspect_method_db, to_inv_nofity_qty, upload_date, order_ref1, order_ref5, batch_no, order_ref4, pre_pay_amount, upload_by, pur_lead_time, order_ref_type, order_ref3, need_receive_flag, upload_flag, id, pre_pay_reverse_amount, out_work_order_flag, order_ref2, qty_rbjs, pre_pay_pay_amount, need_date, inspect_method, inv_notify_qty UPDATE pd SET order_no = t.order_no, site = t.site, item_no = t.item_no, part_no = t.part_no, status = t.status, qty = t.qty, umid = t.umid, convert_factor = t.convert_factor, price = t.price, base_price = t.base_price, want_receive_date = t.want_receive_date, tax_rate = t.tax_rate, tax = t.tax, additional_cost = t.additional_cost, freight = t.freight, duty = t.duty, arrive_qty = t.arrive_qty, receive_qty = t.receive_qty, qty_returned = t.qty_returned, qty_replace = t.qty_replace, qty_scrapt = t.qty_scrapt, invoice_qty = t.invoice_qty, approve_result = t.approve_result, need_inspect_flag = t.need_inspect_flag, remark = t.remark, iqc_qty = t.iqc_qty, last_update_by = t.last_update_by, pr_convert_note = t.pr_convert_note, inspect_type_db = t.inspect_type_db, inspect_type = t.inspect_type, inspect_qty = t.inspect_qty, inspect_percent = t.inspect_percent, inspection_level_no = t.inspection_level_no, close_tolerance = t.close_tolerance, over_receive_tolerance = t.over_receive_tolerance, item = t.item, c_value = t.c_value, c_ship_qty = t.c_ship_qty, c_sum_price = t.c_sum_price, c_narrival = t.c_narrival, c_crd = t.c_crd, c_inspection = t.c_inspection, c_real_crd = t.c_real_crd, c_eta = t.c_eta, c_flexid = t.c_flexid, c_obd = t.c_obd, c_doc_sent = t.c_doc_sent, c_telex_release = t.c_telex_release, c_advance_payment = t.c_advance_payment, c_advance_paid = t.c_advance_paid, create_time = t.create_time, c_planner = t.c_planner, c_edit = t.c_edit, c_end_planner = t.c_end_planner, c_remark_delay = t.c_remark_delay, qty_cancelled = t.qty_cancelled, inspect_method_db = t.inspect_method_db, to_inv_nofity_qty = t.to_inv_nofity_qty, upload_date = t.upload_date, order_ref1 = t.order_ref1, order_ref5 = t.order_ref5, batch_no = t.batch_no, order_ref4 = t.order_ref4, pre_pay_amount = t.pre_pay_amount, upload_by = t.upload_by, pur_lead_time = t.pur_lead_time, order_ref_type = t.order_ref_type, order_ref3 = t.order_ref3, need_receive_flag = t.need_receive_flag, upload_flag = t.upload_flag, pre_pay_reverse_amount = t.pre_pay_reverse_amount, out_work_order_flag = t.out_work_order_flag, order_ref2 = t.order_ref2, qty_rbjs = t.qty_rbjs, pre_pay_pay_amount = t.pre_pay_pay_amount, need_date = t.need_date, inspect_method = t.inspect_method, inv_notify_qty = t.inv_notify_qty FROM PODetail pd INNER JOIN ( SELECT CAST(#{item.id} AS INT) AS id, CAST(#{item.orderNo} AS VARCHAR(15)) AS order_no, CAST(#{item.site} AS VARCHAR(4)) AS site, CAST(#{item.itemNo} AS INT) AS item_no, CAST(#{item.partNo} AS VARCHAR(30)) AS part_no, CAST(#{item.status} AS VARCHAR(10)) AS status, CAST(#{item.qty} AS DECIMAL(20,6)) AS qty, CAST(#{item.umid} AS VARCHAR(8)) AS umid, CAST(#{item.convertFactor} AS DECIMAL(20,6)) AS convert_factor, CAST(#{item.price} AS DECIMAL(20,6)) AS price, CAST(#{item.basePrice} AS DECIMAL(20,6)) AS base_price, CAST(#{item.wantReceiveDate} AS DATETIME) AS want_receive_date, CAST(#{item.taxRate} AS DECIMAL(20,6)) AS tax_rate, CAST(#{item.tax} AS DECIMAL(20,6)) AS tax, CAST(#{item.additionalCost} AS DECIMAL(20,6)) AS additional_cost, CAST(#{item.freight} AS DECIMAL(20,6)) AS freight, CAST(#{item.duty} AS DECIMAL(20,6)) AS duty, CAST(#{item.arriveQty} AS DECIMAL(20,6)) AS arrive_qty, CAST(#{item.receiveQty} AS DECIMAL(20,6)) AS receive_qty, CAST(#{item.qtyReturned} AS DECIMAL(20,6)) AS qty_returned, CAST(#{item.qtyReplace} AS DECIMAL(20,6)) AS qty_replace, CAST(#{item.qtyScrapt} AS DECIMAL(20,6)) AS qty_scrapt, CAST(#{item.invoiceQty} AS DECIMAL(20,6)) AS invoice_qty, CAST(#{item.approveResult} AS CHAR(1)) AS approve_result, CAST(#{item.needInspectFlag} AS CHAR(1)) AS need_inspect_flag, CAST(#{item.remark} AS VARCHAR(400)) AS remark, CAST(#{item.iqcQty} AS DECIMAL(20,6)) AS iqc_qty, CAST(#{item.lastUpdateBy} AS VARCHAR(20)) AS last_update_by, CAST(#{item.prConvertNote} AS VARCHAR(200)) AS pr_convert_note, CAST(#{item.inspectTypeDb} AS CHAR(1)) AS inspect_type_db, CAST(#{item.inspectType} AS VARCHAR(40)) AS inspect_type, CAST(#{item.inspectQty} AS DECIMAL(20,6)) AS inspect_qty, CAST(#{item.inspectPercent} AS DECIMAL(20,6)) AS inspect_percent, CAST(#{item.inspectionLevelNo} AS VARCHAR(20)) AS inspection_level_no, CAST(#{item.closeTolerance} AS DECIMAL(20,6)) AS close_tolerance, CAST(#{item.overReceiveTolerance} AS DECIMAL(20,6)) AS over_receive_tolerance, CAST(#{item.item} AS VARCHAR(64)) AS item, CAST(#{item.value} AS VARCHAR(50)) AS c_value, CAST(#{item.shipQty} AS INT) AS c_ship_qty, CAST(#{item.sumPrice} AS DECIMAL(20,6)) AS c_sum_price, CAST(#{item.narrival} AS DATETIME) AS c_narrival, CAST(#{item.crd} AS DATETIME) AS c_crd, CAST(#{item.inspection} AS DATETIME) AS c_inspection, CAST(#{item.realCrd} AS DATETIME) AS c_real_crd, CAST(#{item.eta} AS DATETIME) AS c_eta, CAST(#{item.flexid} AS VARCHAR(50)) AS c_flexid, CAST(#{item.obd} AS DATETIME) AS c_obd, CAST(#{item.docSent} AS CHAR(1)) AS c_doc_sent, CAST(#{item.telexRelease} AS CHAR(1)) AS c_telex_release, CAST(#{item.advancePayment} AS CHAR(1)) AS c_advance_payment, CAST(#{item.advancePaid} AS CHAR(1)) AS c_advance_paid, CAST(#{item.createTime} AS DATETIME) AS create_time, CAST(#{item.planner} AS VARCHAR(50)) AS c_planner, CAST(#{item.edit} AS DATETIME) AS c_edit, CAST(#{item.endPlanner} AS VARCHAR(50)) AS c_end_planner, CAST(#{item.remarkDelay} AS VARCHAR(255)) AS c_remark_delay, CAST(#{item.qtyCancelled} AS DECIMAL(20,6)) AS qty_cancelled, CAST(#{item.inspectMethodDb} AS CHAR(1)) AS inspect_method_db, CAST(#{item.toInvNofityQty} AS DECIMAL(20,6)) AS to_inv_nofity_qty, CAST(#{item.uploadDate} AS DATETIME) AS upload_date, CAST(#{item.orderRef1} AS VARCHAR(20)) AS order_ref1, CAST(#{item.orderRef5} AS VARCHAR(20)) AS order_ref5, CAST(#{item.batchNo} AS VARCHAR(18)) AS batch_no, CAST(#{item.orderRef4} AS VARCHAR(20)) AS order_ref4, CAST(#{item.prePayAmount} AS DECIMAL(20,6)) AS pre_pay_amount, CAST(#{item.uploadBy} AS VARCHAR(50)) AS upload_by, CAST(#{item.purLeadTime} AS DECIMAL(20,6)) AS pur_lead_time, CAST(#{item.orderRefType} AS VARCHAR(20)) AS order_ref_type, CAST(#{item.orderRef3} AS VARCHAR(20)) AS order_ref3, CAST(#{item.needReceiveFlag} AS CHAR(1)) AS need_receive_flag, CAST(#{item.uploadFlag} AS CHAR(1)) AS upload_flag, CAST(#{item.prePayReverseAmount} AS DECIMAL(20,6)) AS pre_pay_reverse_amount, CAST(#{item.outWorkOrderFlag} AS CHAR(1)) AS out_work_order_flag, CAST(#{item.orderRef2} AS VARCHAR(20)) AS order_ref2, CAST(#{item.qtyRbjs} AS DECIMAL(20,6)) AS qty_rbjs, CAST(#{item.prePayPayAmount} AS DECIMAL(20,6)) AS pre_pay_pay_amount, CAST(#{item.needDate} AS DATETIME) AS need_date, CAST(#{item.inspectMethod} AS VARCHAR(20)) AS inspect_method, CAST(#{item.invNotifyQty} AS DECIMAL(20,6)) AS inv_notify_qty ) t ON pd.id = t.id