创建一个为多个表存储的插入

时间:2012-12-11 09:53:14

标签: asp.net sql-server

我有多个页面的申请项目,因为用户将浏览这些页面以完成他的申请人数据,然后在最后一页他会发现提交数据。

我的问题是,我有多个表,当用户提交他的数据时,数据会插入到它的表中,所以如何为所有这些表创建一个表。

2 个答案:

答案 0 :(得分:1)

您使用的是.NET Framework吗?如果是这样,版本是什么?

如果您使用的是.NET> 3.5 + MS SQL 2008,您可以使用table valued parameters

答案 1 :(得分:1)

如果要一次插入/更新多个表,最好使用存储过程。创建/读取/更新/删除(CRUD)存储过程通常是很好的做法,可以降低SQL注入攻击的风险。

这是您的Create(插入)存储过程可能看起来的样子(它是不完整和非标准化的):

CREATE PROCEDURE [dbo].[ApplicantIns]
(   
    @Name   nvarchar(50)
    ,@Skill nvarchar(5)
    ,@Age   int
    ,@comment nvarchar(50)
)
AS
    SET NOCOUNT ON;

    INSERT INTO [dbo].[Applicant]([name]) VALUES(@Name);

    INSERT INTO [dbo].[Skillset]([Skill], [Comment]) VALUES(@Skill,@Comment);

    INSERT INTO [dbo].[Statistics]([Age]) VALUES (@Age);

然后,当有人提交新应用程序时,您可以调用此存储过程。