黄高峰 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]