仅将某些列从一个表复制到另一表并插入默认值

时间:2018-10-01 18:10:33

标签: sql sql-server sql-server-2005

搜索此问题我找不到任何答案。 我有2个sql表,`

  • 表1(Id1,名称)和
  • Table2(Id2,Number)

在将常数值插入Number列时,我只想将table1的一列'Id1'复制到table2的'Id2'列。

如何修改我的sql查询以实现此目的

  • 插入表2          (编号2)              从表1中选择ID1;

2 个答案:

答案 0 :(得分:4)

这是您想要的吗?

INSERT INTO Table2 (Id2, Number)
    SELECT id1, <constant value goes here>
    FROM Table1;

答案 1 :(得分:0)

要进一步执行此操作,这里的一个选项是在Table1上添加触发器,以便在插入后插入Table2。

创建触发器[dbo]。[Table1_CopyId1ColToId2Table2]打开[dbo]。[Table1] 插入后 如 开始     设置NOCOUNT ON;

INSERT INTO dbo.Table2(ID2, Number)
SELECT ID1, <const value> FROM inserted

END

更新行后,您还可以使用触发器来利用。这样可以保证即使在应用程序外部对行进行了编辑,触发器仍会触发。