Обновить поле таблицы из другой таблицы с помощью оператора if

Ответ jcollado можно упростить, используя класс threading.Timer :

import shlex
from subprocess import Popen, PIPE
from threading import Timer

def run(cmd, timeout_sec):
    proc = Popen(shlex.split(cmd), stdout=PIPE, stderr=PIPE)
    timer = Timer(timeout_sec, proc.kill)
    try:
        timer.start()
        stdout, stderr = proc.communicate()
    finally:
        timer.cancel()

# Examples: both take 1 second
run("sleep 1", 5)  # process ends normally at 1 second
run("sleep 5", 1)  # timeout happens at 1 second

0
задан MYB 15 January 2019 в 22:16
поделиться

2 ответа

Вы пробовали описать ситуацию, подобную этой

UPDATE Table2
SET Qty_on_Hand = CASE WHEN  SKU=XREF AND Qty_on_Hand > 30 THEN Table1.Qty_on_Hand ELSE Table2.Qty_on_Hand END
0
ответ дан Zabi Sidiqkhil 15 January 2019 в 22:16
поделиться

Далее следует, как присоединить вторую таблицу к обновляемой таблице в операторе обновления и использовать условное выражение для обновления значения:

update T2 set
  qty_on_hand = case when T1.qty_on_hand > 30 then T1.qty_on_hand else 0 end
from Table2 T2
inner join Table1 T1 on T1.SKU = T2.XREF
where ?? -- surely you don't want to update the entire table?
0
ответ дан Dale Burrell 15 January 2019 в 22:16
поделиться
Другие вопросы по тегам:

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