如何将两个插入查询追加/联合到sql server中的1行

时间:2012-11-23 03:25:26

标签: sql-server vb.net

我有一个问题,我不知道如何将两个插入查询附加/联合到sql server中的1行......

我的查询目前就像这样

id        qty      name        size       remarks          condition
=============================================================================
1         2        wheel      null       null              null
2        null      null        345       need service      ok
3        null      null        678       condem size       no
第2,3行是一个循环查询,因为我动态添加文本框。第一行是用户只输入一次的修复文本框。所以我想将这些数据组合到sql database.suppose它必须只有2行,

1 个答案:

答案 0 :(得分:0)

你可以通过多种方式实现。

使用存储过程

创建用于插入“循环查询”记录的存储过程。例如

addDynamicRecord(@size int, @remarks varchar(MAX), @condition varchar(MAX))

对于每个“动态记录”(使用您的术语)而不是执行INSERT,您将为记录#2,#3等调用此过程。在该过程中,将检查是否为动态记录已经与您的固定记录合并(#1)。如果没有,则UPDATE记录#1 @size@remarks@condition。不过只需INSERT @size@remarks@condition即可创建新记录。

使用INSTEAD OF INSERT触发器

这将执行与上面提出的存储过程相同的操作,但它们将在您使用标准INSERT语句时启动。有关INSTEAD OF INSERT的更多信息,请点击此处:http://technet.microsoft.com/en-us/library/ms175089(v=sql.105).aspx

一般来说,我建议采用第一种方法,它更清晰,将标准INSERT保留在您的表中。