黄高峰 wrote:
> i use this mail first .
> 
> i have a problem in under sql program:
> 
> 
> UPDATE
>     NGLDENHDT
> SET
>     EDT_HUK_FLG = :EDT_HUK_FLG
> WHERE
>   KAI_CDE = :KAI_CDE
>   AND EDT_NUM = (SELECT MAX(EDT_NUM)
>                                FROM NGLDENHDT
>                                WHERE KAI_CDE = :KAI_CDE_T1
>                                AND EDT_NUM != '9999');
> 
> the error message was:
> 
>             You can't specify target table 'NGLDENHDT' for update in FROM
> clause
> 

You can't update and select with a subquery at the same time the very
same table.
try a 2-fold action :
BEGIN;
SELECT @val:= MAX(EDT_NUM)
                 FROM NGLDENHDT
                WHERE KAI_CDE = :KAI_CDE_T1
                AND EDT_NUM != '9999';
 UPDATE
     NGLDENHDT
 SET
     EDT_HUK_FLG = :EDT_HUK_FLG
 WHERE
   KAI_CDE = :KAI_CDE
   AND EDT_NUM = @val;
COMMIT;

> 
> what can i do ,help me ?
> 
> 
>   thank you very much!!
> 


-- 
Philippe Poelvoorde
COS Trading Ltd.

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to