SQL的update語句怎么寫
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值,update語句的寫法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,。
3、WHERE column(1)=value(1),column(2)=value(2)。and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'
擴展資料
SQL的update語句寫法的特點
1、一體化:SQL集數據定義DDL、數據操縱DML和數據控制DCL于一體,可以完成數據庫中的全部工作。
2、使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主語言中使用。
3、非過程化:只提操作要求,不必描述操作步驟,也不需要導航。使用時只需要告訴計算機“做什么”,而不需要告訴它“怎么做”。
4、語言簡潔,語法簡單,好學好用:在ANSI標準中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。
參考資料來源:搜狗百科—update (數據庫SQL語法用語)
SQL UPDATE語句怎么寫
5 將A表中的某個字段的是更新為B表中某個字段的值,條件是A表中的某個字段=B表中某個字段相等 補充: 將A表中的某個字段的值更新為B表中某個字段的值,條件是A表中的某個字段=B表中某個字段 補充: Update ddtj Set cgry = (Select xdry From cght Where * = *) 消息512,級別 16,狀態 1,第 1 行 子查詢返回的值不止一個。
當子查詢跟隨在 =、!=、<、<=、>、>= 之后,或子查詢用作表達式時,這種情況是不允許的。 語句已終止。
滿意答案豬哥□37級2009-05-06update B set col1=* from A where A.x=b.X 補充: update table2 set cname=a.B from table1 as a,table2 as b where a.C=* 補充: update ddtj set cgry=* from ddtj a,cght b where *=* 其他回答(3)loveDream/ty6級2009-05-06update B set Ba=(select Aa from A where Ab=(select Bb from B))/aiq獲利非爾4級2009-05-06MS SQL SERVER的寫法UPDATE ASET A1 = B1。
sql update 語句
按你這個腳本直接改:
create trigger update_student on student
for update
as
begin
declare @班級 int
select @班級=班級 from inserted
update class set 人數 = 人數 + @@rowcount
where 班級=@班級
select @班級=班級 from deleted
update class set 人數 = 人數 - @@rowcount
where 班級=@班級
end
inserted是剛剛增加的整行,deleted是剛剛刪除的整行數據
沒有updated,update的過程就是先delete,再insert,所以用inserted和deleted能表達update的過程了
另外你這個觸發器只能對更新結果是1個班級的有效,如果是多個班級,在select @班級=班級 from inserted這句上會報錯
最好的辦法還是
create trigger update_student on student
for update
as
begin
update class set 人數 = 人數 + 人數_add
from (select 班級,count(1) as 人數_add from inserted group by 班級) b
where class.班級=b.班級
update class set 人數 = 人數 - 人數_min
from (select 班級,count(1) as 人數_min from deleted group by 班級) b
where class.班級=b.班級
end
sql update語句問題
create trigger student_update2 on student
for update
AS
declare @studentid char()
select @studentid=*t_id from inserted,student
where *t_id=*t_id
update student_course
set student_*t_id=@studentid
from deleted,student_course
where student_*t_id=*t_id
SQL數據庫update修改語句問題
其實,這是一個表連接更新,因此需要1對1,即更新的表與你寫的那個View成1對1關系在能正確更新數據,這么理解呢?
真正的View是這個
select SO_*,ISNULL(a.a, 0) as SumValue
from SO_SODetails LEFT OUTER JOIN
(
SELECT SUM(fOutQuantity) AS a, iSOsID AS b
FROM DispatchLists
WHERE (iSOsID IS NOT NULL)
GROUP BY iSOsID
) AS a
ON SO_* = a.b
WHERE (ISNULL(a.a, 0) SO_*antity)所以理解?是這個View,和表SO_SODetails做連接,因此SO_SODetails會被用到3次(update的時候一次,view里面一次,join一次)所以當你沒有做限定,數據庫會自動轉換
修改代碼如下
UPDATE SO_SODetails
SET foutquantity = SumValue
FROM SO_SODetails s_1,
(
select SO_* as iSOsID ,ISNULL(a.a, 0) as SumValue
from SO_SODetails LEFT OUTER JOIN
(
SELECT SUM(fOutQuantity) AS a, iSOsID AS b
FROM DispatchLists
WHERE (iSOsID IS NOT NULL)
GROUP BY iSOsID
) AS a
ON SO_* = a.b
WHERE (ISNULL(a.a, 0) SO_*antity)
) v_1
where s_* =v_*
sql server 更改語句
這樣:
update tableb set id=10 where id=9
前題是先執行下列語句建立更新觸發器:
create TRIGGER TR_TABLEA_UPDATE ON TABLEA
FOR UPDATE
AS
if @@rowcount=0
return
declare @id int,@yid int
select @id=id from inserted
select @yid=id from deleted
if @id!=@yid
begin
update tableb set id=@id where id=@yid
update tablec set id=@id where id=@yid
update tabled set id=@id where id=@yid
end
GO
下面sql語句如何改為update語句:
update 生產計劃_明細 set 工費=AA.工費 FROM
(select 加工單號,sum(加工費合計) as 工費
from (select 加工費合計,對應加工單號,rcid from 交貨單_主表 ) tj, 生產計劃_明細 jhmx
WHERE jhmx.加工單號= tj.對應加工單號 and
* in(select max(rcid) from 生產計劃_明細)
and left(*,6)=left(*,6)
group by 加工單號) as AA
WHERE 生產計劃_明細.加工單號=AA.加工單號
轉載請注明出處華閱文章網 » sqlupdateas語句