Попытка обновить таблицу в SQL

Вы можете использовать awk для выполнения чего-то подобного.

awk '/#include/ && !done { print "#include \"newfile.h\""; done=1;}; 1;' file.c

Объяснение:

/#include/ && !done

Запускает оператор действия между {}, когда строка соответствует "#include" и мы еще не обработали его.

{print "#include \"newfile.h\""; done=1;}

Это печатает #include "newfile.h", нам нужно избежать кавычек. Затем мы устанавливаем переменную done в 1, поэтому мы не добавляем больше включений.

1;

Это означает «распечатать строку» - пустое действие по умолчанию для печати $ 0, которое выводит весь текст линия. Один лайнер и легче понять, чем sed IMO: -)

0
задан marc_s 15 March 2019 в 17:59
поделиться

3 ответа

SQL Server не допускает псевдонимы в UPDATE. Вам необходимо использовать предложение FROM:

UPDATE CM 
   SET ILCHDRNUM =    --incorrect syntax near SET and =
       (SELECT ILCHDRNUM FROM VM1DTA.DCIAPF WHERE INCHDRNUM = CM.CHDRNUM)
   FROM VM1DTA.DCIRGPF CM;

UPDATE CM     --invalid column name cm
    SET ILPYCLT =     --incorrect syntax near SET and =
           (SELECT CLNTKEY
            FROM dbo.DCIARG
            WHERE CLNTKEY = CM.PAYCLT AND
                  SEQNUMB = 1
           )
    FROM dbo.DCIRPG CM;
0
ответ дан marc_s 15 March 2019 в 17:59
поделиться

Вы можете попробовать выполнить следующие действия:

UPDATE CM  
SET CM.ILCHDRNUM =  DCI.ILCHDRNUM
from VM1DTA.DCIRPG CM
INNER JOIN VM1DTA.DCIARG DCI ON DCI.INCHDRNUM = CM.CHDRNUM

и второй запрос

UPDATE CM  
SET CM.ILPYCLT =    DCI.CLNTKEY        
FROM  dbo.DCIRPG CM 
INNER JOIN dbo.DCIARG DCI
ON  DCI.CLNTKEY = CM.PAYCLT 
AND DCI.SEQNUMB = 1
.
0
ответ дан Ketan Kotak 15 March 2019 в 17:59
поделиться

В качестве альтернативы:

UPDATE RPG
  SET RPG.ILCHDRNUM = ARG.ILCHDRNUM
  FROM VM1DTA.DCIRPG AS RPG 
  INNER JOIN VM1DTA.DCIARG AS ARG
  ON RPG.CHDRNUM = ARG.INCHDRNUM;

UPDATE RPG
  SET RPG.ILPYCLT = ARG.CLNTKEY
  FROM dbo.DCIRPG AS RPG
  INNER JOIN dbo.DCIARG AS ARG
  ON RPG.PAYCLT = ARG.CLNTKEY
  AND ARG.SEQNUMB = 1;

Кроме того, кто бы ни назвал эти таблицы и столбцы, ему нужно выехать за сарай. Может быть, несколько.

0
ответ дан Aaron Bertrand 15 March 2019 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: