2016-10-21 2 views
1
update prpcopycoins a set a.comtype=(
    select b.comtype from prpcopycoins b where b.policyno=a.policyno and b.serialno=a.serialno and b.applyno[1]='E') 
where a.applyno in ('1461F00001', '1461F00002'); 

Je suis en train de mettre à jour plusieurs lignes de la table prpcopycoins avec des valeurs d'autres lignes de la même table. Le code ci-dessus a une erreur de syntaxe à cause de l'alias représenté. Comment le corriger? J'utilise 'IBM Informix Dynamic Server Version 11.50.FC8W4'.INFORMIX: MISE À JOUR avec ALIAS?

Répondre

2

En comparant la documentation UPDATE d'Informix 11.50 et 11.70 Je vois que l'aliasing peut être utilisé dans 11.70 et n'est pas disponible dans 11.50. J'ai également 11.50 et je ne peux pas utiliser d'alias dans UPDATE.

Je voudrais écrire la fonction SPL getcomtype(policyno, serialno) et de l'utiliser comme:

update prpcopycoins set comtype=getcomtype(policyno, serialno) 
where applyno in ('1461F00001', '1461F00002');