我知道如何通过从另一个表中进行选择来插入,但是我的问题有点复杂。我有下面的表格。
表格1:
Col1 | Col2 | Col3 | ..... | Col20
表2:
Col1 | Col2 | Col3 | ..... | Col20
这两个表是相同的。我想做的是将表1中的所有值插入表2中,但保留一列(例如Col20)。我想用我的自定义值插入该列。我可以通过将1映射到1列来做到这一点,如下所示。
Insert into table1(Col1, Col2, ..., Col20)
select Col1, Col2, ..., @customvalue
from table2
我本来会用这种方式,但是我必须在存储过程中多次使用此查询,这会使该存储过程冗长。但是我想缩短这个查询。还有其他更好的方法吗?
...但是我必须在存储过程中多次使用此查询,这会使该存储过程冗长....
最简单的事情是创建一个只执行插入操作的存储过程,然后在需要时在主存储过程中调用它:
CREATE PROCEDURE CopyFromTable1ToTable2
(
@CustomValue int -- or whatever data type you need
)
AS
INSERT INTO Table1 (Col1, Col2... Col120)
SELECT Col1, Col2,.... @CustomValue
FROM Table2
然后,在您的主要过程中,只需执行以下操作:
EXEC CopyFromTable1ToTable2 1
...
EXEC CopyFromTable1ToTable2 3
等等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句