Я хочу обновить статус документа до 9, как это может быть, пожалуйста, помогите, так что любая идея

Я сделал некоторые обновления, но это не сработало, я не знаю, почему

   SELECT

    sl.sap_filename,

    ds.document_status

FROM

    tbl_document ds,

    tbl_sap_log sl

WHERE

    ds.number = sl.number

    AND sap_id IN (

        44343,
        55555,
        66666,
        77777,
        88888

    ) and ds.DOCUMENT_STATUS=8;
1
Python P 27 Апр 2020 в 00:05

2 ответа

Вы можете использовать MERGE :

MERGE INTO tbl_document ds
USING
    (SELECT number,
            sap_id
     FROM tbl_sap_log
     WHERE sap_id IN 
       (
        44343,
        55555,
        66666,
        77777,
        88888
       )
    ) sl
ON ( ds.number = sl.number )
WHEN MATCHED THEN
UPDATE SET
    ds.document_status = 9
WHERE ds.document_status = 8;
1
Lalit Kumar B 26 Апр 2020 в 21:31

Если вы хотите обновить с 9 всех документов на ваш выбор:

UPDATE tbl_document SET tbl_document.DOCUMENT_STATUS = 9
WHERE tbl_document.DOCUMENT_STATUS = 8
AND EXISTS (SELECT 1
            FROM tbl_sap_log  
            WHERE tbl_sap_log.number  = tbl_document.number AND sap_id IN (44343,55555,66666,77777,88888) );
1
Gabriel Durac 26 Апр 2020 в 21:14