在SQL Server中如何批量修改表中的值?

2024-11-28 03:35:23
推荐回答(5个)
回答(1):

declare @id int

/*这一段执行四次 score的值分别改掉*/
select top @id=id from 表 where score is null
update 表名 set Score=80 where id=@id

回答(2):

我有一字段,有4行:Score(字段名) 值都是:NULL 我想把值改成:80,87,90,95,请问SQL语句怎么写?

数据更新语句:update set 字段名=值 where 条件;
update set Score=80 where 你的条件
[如果你要批量改,就只能改成一样的,如Score=null,即是把Score为null的字段值全部都设为80;
但是如果你的条件为某一特定条件,那么就不会全部改为相同数值了。如ID=1类似]

回答(3):

    首先,在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:

回答(4):

Update set score='80' from 表名 where score=''

回答(5):

insert into 表名(字段)
select '80'
union
select '87'
union
select '90'
union
select '95'