У меня есть нижеприведенная вставка в строковое выражение, но часть Case, кажется, нарушает его. Если значение Paymenttype из конкретной таблицы - TNP1, то я хочу, чтобы оно использовало одно конкретное значение, а если TNP2, тогда мне нужно использовать другое значение.
Вместо этого я получаю сообщение об ошибке, говорящее о том, что в моем случае есть выражение WHEN.
Есть идеи? Использование Advantage Arc.
open cur as
select
'insert into pctrnpay'+char(10)+
'('+char(10)+
'ident,'+char(10)+
'actual,'+char(10)+
'sys_type,'+char(10)+
'actualamt,'+char(10)+
'descrip,'+char(10)+
'status,'+char(10)+
'expected,'+char(10)+
'expamt,'+char(10)+
')'+char(10)+
'values'+char(10)+
'('+char(10)+
iif(internalident is not null,char(39)+trim(cast(internalident as
sql_char(5)))+char(39),'Null')+','+char(13)+char(10)+
iif(financialdate is not null,char(39)+trim(cast(financialdate as
sql_char(10)))+char(39),'Null')+','+char(13)+char(10)+
iif(paymenttype is not null,char(39)+'APTB_'+trim(cast(paymenttype as
sql_char(10)))+char(39),'Null')+','+char(13)+char(10)+
iif(amount is not null,trim(cast(amount as
sql_char(4))),'Null')+','+char(13)+char(10)+
char(39)+ case paymenttype when paymenttype='TNP1' then 'App Total
Negotiated Price - Training'
when paymenttype='TNP2' then 'App Total Negotiated
Price - Assessment'
end +char(39)+','+char(13)+char(10)+
');'+char(10)+char(10) str_SQL
from [..\_control\pics.add]._FinancialDetails ;