我有两个表:
房间
:ID
(自动递增主键,int
)主题
(varchar(50)
)MangerId
(varchar(50)
)
Rooms_Users
:用户 ID
(varchar(50)
)RoomId
(varchar(50)
)- 两个字段一起为主键
我想插入一个房间,但我还必须将管理器插入到表 rooms_users
中。
这是我到目前为止所拥有的:
ALTER PROCEDURE [dbo].[Creat_Room] @MangerId varchar(50) ,@Topic varchar(50)
AS
BEGIN
SET NOCOUNT
insert into Rooms(ManagerId,Topic) values(@MangerId,@Topic)
insert into Rooms_Users(UserId,RoomId) values(@MangerId,?????????????)
END
????????????
是问题:我不知道在这里放什么,我想把上面插入的 roomid 放在上面。
最佳答案
您可以使用output
子句。看看MSDN:OUTPUT Clause (Transact-SQL)
示例:
declare @tbl table
(
NewID int
)
insert into Rooms(ManagerId,Topic)
output inserted.ID into @tbl
values(@MangerId,@Topic)
然后表变量将包含为您插入的行指定的新 ID
关于sql - 查找自动递增字段中插入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16135455/