如何更新数据库中的多个记录 [英] How to update more than one record in database

查看:81
本文介绍了如何更新数据库中的多个记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一张桌子



表1(UserID,ModuleID,SubModuleID,Status)



UserID ModuleID SubModuleID状态

--------------------------------------- -

1 m1 sm1错误

1 m1 sm2真实



我有一个程序



I have a table

Table1(UserID,ModuleID,SubModuleID,Status)

UserID ModuleID SubModuleID Status
-----------------------------------------
1 m1 sm1 False
1 m1 sm2 True

and I have a procedure

ALTER Proc [dbo].[sp_ModuleAccess]  
(
@UserId nvarchar(50)=null,
@Module nvarchar(50)=null,
@SubModule nvarchar(50),
@Status bit=null,
@Mode char(1)=null
)
AS
declare @moduleID table
(
  idx smallint Primary Key IDENTITY(1,1)
    , moduleid nvarchar(50)
)
declare @SubmoduleID table
(
  idx smallint Primary Key IDENTITY(1,1),
 moduleid nvarchar(50),
submoduleid nvarchar(50),
status bit
)
Begin
if @Mode='U'
Begin 
  if exists(select 1 from Table1 where UserID=@UserId)
  begin
     update Table1  set Status=@Status 
     where UserID=@UserId and ModuleID=@Module and SubModuleID=@SubModule 
  end          
       
end
END





现在我有两个子模块复选框和一个按钮,所以我想知道如何更新两个submoduleid代表复选框



Now I have two check box for sub module and a button so I want to know how to update both submoduleid behalf of check box

推荐答案

UPDATE命令将更新WHERE子句定义的所有记录 - 没有where子句意味着更新所有行。但是,使用单个UPDATE命令,您只能使用相同的值更改行(所有行都将获得状态0!)。如果你想用不同的值更新不同的行,你必须有多个UPDATE命令!
An UPDATE command will update all the records the WHERE clause defines - no where clause means update all the rows. However with a single UPDATE command you can change the rows only with the same value (all rows will get Status 0!). If you want to update different rows with different values you MUST have multiply UPDATE commands!


这篇关于如何更新数据库中的多个记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆