declare @id int
/*这一段执行四次 score的值分别改掉*/
select top @id=id from 表 where score is null
update 表名 set Score=80 where id=@id
我有一字段,有4行:Score(字段名) 值都是:NULL 我想把值改成:80,87,90,95,请问SQL语句怎么写?
数据更新语句:update set 字段名=值 where 条件;
update set Score=80 where 你的条件
[如果你要批量改,就只能改成一样的,如Score=null,即是把Score为null的字段值全部都设为80;
但是如果你的条件为某一特定条件,那么就不会全部改为相同数值了。如ID=1类似]
首先,在sql server 2008下创建一个示例数据库名为TableTypeTest,
再在该数据库下创建一个名为Class和Student的表,结构如下:
在TableTypeTest数据库下创建一个自定义表类型,取名StudentType,如下:
CREATE TYPE [dbo].[StudentType] AS TABLE(
[SID] [int] NOT NULL,
[CID] [int] NOT NULL,
[SName] [nvarchar](50) NOT NULL
)
GO
然后,创建两个存储过程,批量添加和批量修改,分别为InserNewStudent和UpdateStudent,如下
InserNewStudent:
CREATE PROCEDURE [dbo].[InserNewStudent]
@Dt dbo.StudentType readonly
AS
BEGIN
insert into dbo.Student(CID,SName) select t.CID,t.SName from @Dt as t
END
GO
UpdateStudent:
Update set score='80' from 表名 where score=''
insert into 表名(字段)
select '80'
union
select '87'
union
select '90'
union
select '95'