如何使用单个查询插入多个表?

时间:2013-10-31 18:03:29

标签: sql database sql-server-2008

我有两个表,一个是restaurantDetails,另一个是它的位置。 当任何人想要添加新餐馆时,他/她也必须插入细节和位置。但问题是如何使用单个存储过程插入这两个表?

2 个答案:

答案 0 :(得分:1)

你必须使用触发器,这里是一个例子,你可以在将行插入第一个表之前将其插入第二个表:

DELIMITER $$
CREATE TRIGGER second_table
BEFORE INSERT ON first_table
FOR EACH ROW
BEGIN
  IF (EXISTS(SELECT * FROM first_table WHERE sp = NEW.sp)) THEN
    INSERT INTO second_table (col1,col2,col3)   
    VALUES (NEW.col1, NEW.col2, NEW.col3);
  END IF;
END$$
DELIMITER ;

答案 1 :(得分:0)

使用“;”分开他们每个人! 您的存储过程应如下所示:

create procedure 
(
@nameofNew varchar(100)
)
--Insert code for restaurantDetails
;
--Insert code for location