Microsoft SQL - 选择时更新

时间:2018-04-16 08:01:56

标签: sql-server

有没有办法在选择数据时更新以避免额外的访问?

我们选择了2500个数据集,并且需要在我们这样做时将值设置为1,当前的解决方案是在配置文件中逐个执行,这将导致2500次访问数据库...

1 个答案:

答案 0 :(得分:0)

您可以轻松将SELECT查询转换为UPDATE

我不知道你的SELECT是什么样的,但你可以遵循这种模式:

SELECT
    c.column1
    , b.column2
    , a.column3
FROM Table1 a
    INNER JOIN Table2 b
        ON a.PK = b.FK
    INNER JOIN Table3 c
        ON b.PK = c.FK
WHERE a.column4 = 'a'
    AND b.column4 = 'x'

UPDATE a
SET column3 = 1
    , column4 = 'b'
FROM Table1 a
    INNER JOIN Table2 b
        ON a.PK = b.FK
    INNER JOIN Table3 c
        ON b.PK = c.FK
WHERE a.column4 = 'a'
    AND b.column4 = 'x'

这将进行1次数据库访问并完成所有工作。