怎么同时插入多条记录和同时修改多条记录?

kokubo_wing 2006-07-25 01:40:00
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [DBO].[P_HomeWork_Add]
(
@WorkTitle varchar(200),
@WorkDetail ntext,
@Inputer varchar(50),
@Deadline datetime,
@GroupNO varchar(50),
@KeyPath varchar(50)
)
AS
declare @workid int
INSERT INTO SchoolWork ([WorkTitle], [WorkDetail], [Inputer], [Deadline],[KeyPath])
VALUES (@WorkTitle, @WorkDetail, @Inputer, @Deadline,@KeyPath)
set @workid=@@identity
INSERT INTO SchoolWork_Access ([GroupNO], [WorkID])
VALUES(@GroupNO, @workid)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
现在的问题是,我这一条记录可能同时给10个组,也可能给1个组,如果是多组的话,应该怎么处理?
我传进来的组名是first group,或者是second group,如果是多组的话就变成"'first group','second group'"

另外,如果同时修改这10条记录怎么处理?显示记录的时候就显示一条,但这个记录关联10个组,
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [DBO].[P_HomeWork_UPD]
(
@WorkTitle varchar(200),
@WorkDetail ntext,
@Inputer varchar(50),
@Deadline datetime,
@GroupNO varchar(50),
@KeyPath varchar(50),
@workid int
)
AS
update SchoolWork set WorkTitle=@WorkTitle,WorkDetail=@WorkDetail,Inputer=@Inputer,Deadline=@Deadline,KeyPath=@KeyPath where workid=@workid
update SchoolWork_Access set GroupNO=@GroupNO where workid=@workid
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

...全文
398 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kokubo_wing 2006-07-25
  • 打赏
  • 举报
回复
比如我现在要向10个人发送消息,在消息表里只有一条记录,而在消息和用户的关联表里是有10条记录的,当我显示这条消息时,只显示一条,但是关联10个人,就这个 意思。
YrLijon 2006-07-25
  • 打赏
  • 举报
回复
对,赞成一楼的用触发器
用INSERT 触发器检索出所有的id
省得用
set @workid=@@identity
一旦你插入的记录多的话
检索的值将是最后的一条

我想用触发器检索出所有的ID值
在修改
wwh999 2006-07-25
  • 打赏
  • 举报
回复
看上面的没有什么意义,现单纯的就你的要求回复一下:

1>同时插入多条
INSERT INTO ...SELECT *....
2>同时更新多条
UPDATE 表 SET 字段=X.字段 FROM (SELECT ....) AS X

上面的...为省略了的完整常规SELECT语句。
LouisXIV 2006-07-25
  • 打赏
  • 举报
回复
.....
夜大俠什麼時候玩Chinese-English了
-----------------------------------

Operation System reinstalled -_-;
zsforever 2006-07-25
  • 打赏
  • 举报
回复
组的概念在你的数据库里怎么体现的,没明白
playwarcraft 2006-07-25
  • 打赏
  • 举报
回复
.....
夜大俠什麼時候玩Chinese-English了
LouisXIV 2006-07-25
  • 打赏
  • 举报
回复
How about the values other than @groupno??

You can get them from where?
panjinfu80 2006-07-25
  • 打赏
  • 举报
回复
用触发器吧。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧