永发信息网

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

答案:5  悬赏:0  手机版
解决时间 2021-02-16 01:50
  • 提问者网友:椧運幽默
  • 2021-02-15 18:15
在SQL Server中如何批量修改表中的值?
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-02-15 19:02
首先,在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:
全部回答
  • 1楼网友:末日狂欢
  • 2021-02-15 23:38
Update set score='80' from 表名 where score=''
  • 2楼网友:行雁书
  • 2021-02-15 22:24
declare @id int

select top @id=id from 表 where score is null
update 表名 set Score=80 where id=@id
  • 3楼网友:慢性怪人
  • 2021-02-15 22:12
insert into 表名(字段)
select '80'
union
select '87'
union
select '90'
union
select '95'
  • 4楼网友:你可爱的野爹
  • 2021-02-15 20:36
我有一字段,有4行:Score(字段名) 值都是:NULL 我想把值改成:80,87,90,95,请问SQL语句怎么写?
数据更新语句:update set 字段名=值 where 条件;
update set Score=80 where 你的条件
[如果你要批量改,就只能改成一样的,如Score=null,即是把Score为null的字段值全部都设为80;
但是如果你的条件为某一特定条件,那么就不会全部改为相同数值了。如ID=1类似]
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯