當前位置:首頁 » 編程語言 » sqlserverupdate多表
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserverupdate多表

發布時間: 2022-07-15 10:33:36

sql update 多表關聯 問題

update a
set
A.shl = A.shl - B.shl
from a,b
where
A.spid = B.spid and
A.fdbs = B.fdbs and
A.rq = B.rq and
A.ontime > '17:37:18' and
A.shky = '002' and
A.fdbs = 'HKD'

你是要這個??表的別名自己加下

set A.shl = A.shl =A.shl - B.shl
都告訴你第二行錯誤了
A.shl = A.shl =A.shl - B.shl 是什麼寫法

㈡ update 更新多個表 SQL

update 語句無法 同時 更新兩個表;

可以 對2個表update 後

再統一提交

㈢ sqlserver update語句怎樣更改兩個數據

Update 語句用於修改表中的數據。

語法:

UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value

Person:

方法二:

1) MySql多表更新方法:

MySql語法:UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

例子:UPDATE A a , B b SET a.a1 = b.b1 , a.a2 = b.b2 WHERE a.a3 = b.b3

2) SQLServer多表更新方法:

SQLServer語法:UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ] { { [ FROM { < table_source > } [ ,...n ] ] [ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,...n ] ) ]

例子:UPDATE a SET a.a1 = b.b1 , a.a2 = b.b2 FROM A a , B b WHERE a.a3 = b.b3

㈣ SQLSERVER 多表關聯如何更新

update 表C

set 表C.c3=表B.b3
from 表C
where 表C.c1=表A.a2 and 表C.c2=表B.b2
您說的還沒搞明白,從語法上講應該是這樣的,不知道行不行,只做過2個表之間關聯更新的,您這個要3個表,而且B表和 C表的關聯有沒有呢?

㈤ update sql 多表多個欄位

  1. a.E能得到a.C的值進行判斷嗎? 當然可以的啊。

  2. 如果是sqlserver,應該用from b吧


update表a
seta.A=a.A+b.B,
a.C=a.A,
a.E=(casewhen(a.C>a.D)then'1'end)
from表
bwhere查詢條件。。。

㈥ sql update 多表條件

必須給出A.B表之間的聯合關系,然後用in關系表達式就可以過濾出條件了。

㈦ update後是否可以接兩張表

一條update只能修改一張表裡的欄位,但是可以關聯多張表去修改。不知道你用的是什麼資料庫
常用的sqlserver格式如下:


update table1 set a.欄位1=b.欄位1,....,a.欄位N=b.欄位N from table1 a,table2 b where 兩個表的關聯欄位。


常用的oracle格式如下:


update table1 a set (a.欄位1,....,a.欄位N) =(select b.欄位1,...,b.欄位N from table2 b where 兩個表的關聯欄位) where exists (select 1 from table2 b where 兩個表的關聯欄位)。


注意oracle語句里的exists不能省略,否則會導致沒有對應關系的數據修改錯誤,甚至會報錯。

㈧ 求sqlserver update多表的修改語句最好是3張表以上的不是子查詢,有能幫忙解決的速來,謝謝

一條update只能修改一個表,不可以多表修改。
你要三個表一起改,只能分別寫三條update。
你也可以選擇用一個存儲過程把多條update放在一起執行

㈨ SQL中Update可同時更新多個表嗎這段代碼存在什麼錯誤

給你個肯定的答案,SQL中Update不可以同時更新多個表的,要更新多個表保證都成功,就是分多個update來做,用事務處理

㈩ sql update多表問題

你的意思是不是,增加明細表的時候,單號表的amount自動更新。

這樣的話,寫一個觸發器就可以了。

createtrigger觸發器名稱
on明細
forinsert
as
begin
update單號setamount=a.amount+b.amount
from單號a,insertedb
wherea.billid=b.billid
end