SQL 用update语句一次更新多个字段应该怎么写SQL 用update语句一次更新多个字段语句格式如下:UPDATE 表名 SET 列名1=值,列名2=值2,... 多个字段时可以用逗号隔开,MYSQL数据库的SQL语句可以使用LIMIT1来指定(DELETE或者UPDATE)只操作前面的第一条数据,或者不能使用LIMIT1指定只更新一条记录,INFORMIX等数据库为每一条记录都增加了一个隐藏不可以删除和修改的字段--ROWID,利用这个字段可以指定处理某一条记录,可以指定RECNO()值进行处理指定的记录,其后的WHERE 条件语句可以用也可以不用扩展资料:update用途:更新表中原有数据单独使用,更新字段值。
SQL 用update语句一次更新多个字段应该怎么写
SQL 用update语句一次更新多个字段语句格式如下:
UPDATE 表名 SET 列名1=值,列名2=值2,...
多个字段时可以用逗号隔开,每个 字段名=值 就是给字段赋值,其后的WHERE 条件语句可以用也可以不用
扩展资料:
update用途:更新表中原有数据
单独使用,使用where匹配字段
set后面,更新字段值,既可以一次一项,也可以一次多项
例如1,
Update table_name Set column_name = new_value Where column_name = some_value
例:
“Person”表中的原始数据:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
运行下面的SQL将Person表中LastName字段为”Rasmussen”的FirstName更新为”Nina”:
UPDATE Person SET FirstName = ’Nina’ WHERE LastName = ’Rasmussen’
更新后”Person”表中的数据为:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67
同样的,用UPDATE语句也可以同时更新多个字段:
例如2,
UPDATE Person SET Address = ’Stien 12’, City = ’Stavanger’ WHERE LastName = ’Rasmussen’
更新后”Person”表中的数据为:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Stien 12 Stavanger
参考资料:
百度百科--update
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语句
关于SQL的update语句
如果所有字段都重复,而且系统不提供ROWID等隐藏列,或者RECNO()等函数,或者不能使用LIMIT1指定只更新一条记录,那么你确实没有办法只处理里面的一条记录。INFORMIX等数据库为每一条记录都增加了一个隐藏不可以删除和修改的字段--ROWID,利用这个字段可以指定处理某一条记录。FOXPRO的数据库,可以使用函数RECNO()返回记录号,可以指定RECNO()值进行处理指定的记录。MYSQL数据库的SQL语句可以使用LIMIT1来指定(DELETE或者UPDATE)只操作前面的第一条数据。如果你不是以上数据库,也没有这些东西支持,建议你给表增加一个自动编码的字段,然后就可以使用此字段进行操作了。-date