Sql 是否可以从1个控制器向2个表插入数据?
这是我的数据库。我想创建一个存储过程,将数据插入到预订表中。我想插入room_id、data check-in和其他字段,但不是guest_id,我想从guest表中输入名字、姓氏、电话和其他字段。这可能吗Sql 是否可以从1个控制器向2个表插入数据?,sql,sql-server,Sql,Sql Server,这是我的数据库。我想创建一个存储过程,将数据插入到预订表中。我想插入room_id、data check-in和其他字段,但不是guest_id,我想从guest表中输入名字、姓氏、电话和其他字段。这可能吗 无论发布什么数据,您都可以插入任意数量的表。控制器与表无关,因此没有限制 我建议试着写一些东西,如果你能让它工作,在这里发布你的尝试(堆栈溢出…不是这个特殊的帖子),描述什么不工作。这更符合SO格式,而不是一个模糊的非代码问题。无论发布什么数据,您都可以插入任意数量的表。控制器与表无关,因此
无论发布什么数据,您都可以插入任意数量的表。控制器与表无关,因此没有限制
我建议试着写一些东西,如果你能让它工作,在这里发布你的尝试(堆栈溢出…不是这个特殊的帖子),描述什么不工作。这更符合SO格式,而不是一个模糊的非代码问题。无论发布什么数据,您都可以插入任意数量的表。控制器与表无关,因此没有限制
我建议试着写一些东西,如果你能让它工作,在这里发布你的尝试(堆栈溢出…不是这个特殊的帖子),描述什么不工作。这更符合SO格式,而不是模糊的非代码问题。我将创建两个存储过程。一个用于保存客人信息,另一个用于保存预订信息
CREATE PROCEDURE SaveGuest(@firstName varcahr(50),@lastName varchar(50),@phone varchar(15))
AS
BEGIN
INSERT INTO Guest(FirstName,LastName,Phone) VALUES (@firstName,@lastName,@phone);
RETURN SCOPE_IDENTITY()
END
调用第二个进程的过程
CREATE PROCEDUE SaveReservation(@roomId int,@guestId int,@price decimal)
AS
BEGIN
INSERT INTO Reservation(Room_ID,Guest_ID,Price) VALUES (@roomID,@guestId,@price)
RETURN SCOPE_IDENTITY()
END
这是一个样本。您需要为所有不为null的db列添加字段
现在创建两个方法来保存这些数据SaveGuest
和SaveReservation
。从SaveGuest方法返回新保存的来宾ID。现在,在动作方法调用中,首先是SaveGuest方法。检查方法的返回值。如果它是一个有效的数字,这意味着客人信息被保存。在保存第二部分(预订)时使用该客人ID;像这样的
public ActionResult SAve(YourViewMolde model)
{
int guestId= SaveGuest("john","alex",....);
if(guestID>0)
{
SaveReservation(guestId,34,...);
}
else
{
model.AddModelError("","Error in saving Guest info!");
}
}
我将创建2个存储过程。一个用于保存客人信息,另一个用于保存预订信息
CREATE PROCEDURE SaveGuest(@firstName varcahr(50),@lastName varchar(50),@phone varchar(15))
AS
BEGIN
INSERT INTO Guest(FirstName,LastName,Phone) VALUES (@firstName,@lastName,@phone);
RETURN SCOPE_IDENTITY()
END
调用第二个进程的过程
CREATE PROCEDUE SaveReservation(@roomId int,@guestId int,@price decimal)
AS
BEGIN
INSERT INTO Reservation(Room_ID,Guest_ID,Price) VALUES (@roomID,@guestId,@price)
RETURN SCOPE_IDENTITY()
END
这是一个样本。您需要为所有不为null的db列添加字段
现在创建两个方法来保存这些数据SaveGuest
和SaveReservation
。从SaveGuest方法返回新保存的来宾ID。现在,在动作方法调用中,首先是SaveGuest方法。检查方法的返回值。如果它是一个有效的数字,这意味着客人信息被保存。在保存第二部分(预订)时使用该客人ID;像这样的
public ActionResult SAve(YourViewMolde model)
{
int guestId= SaveGuest("john","alex",....);
if(guestID>0)
{
SaveReservation(guestId,34,...);
}
else
{
model.AddModelError("","Error in saving Guest info!");
}
}