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 語句
按你這個腳本直接改:
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
求教一條有關update的Sql語句
如果沒有一定的條件非要更新兩張表,就用兩個UPDATE語句好了,我還沒有使用過單純的直接更新,給你一個關聯兩個表的語句:
UPDATE titles
SET ytd_sales = *_sales + *
FROM titles, sales
WHERE *_id = *_id
AND *_date = (SELECT MAX(*_date) FROM sales)
要么
用trigger吧
我的示例如下,至于如何去更新表的方法你自行定義。
create table a(b int)
create table b(d int)
insert into a values(100)
insert into b values(200)
create trigger for_a_b
on a
instead of update
as
begin
update b set d=d+1
end
update a set b=1000
select * from b
結果如下:
d
-----------
201
(所影響的行數為 1 行)