从表和静态数据插入SQL

时间:2014-12-11 15:13:16

标签: sql insert

我正在创建一个存储过程,以便将数据从另一个表插入到表中。但是,我想要插入到新记录中的所有数据都不在另一个表中,并且目前它不在任何表中。我称之为“静态”数据。我有两个表:一个叫Resident,一个叫Lease。如果我在Lease表中有记录,我还希望在Resident表中找到该租约的相关记录。

这些是我需要在Resident表中填充的字段:

    Comp_Name = SMITHJ1234
    Comp_NameLong = SMITH; JOHN
    Comp_Type = Resident
    Comp_Status = Active
    Comp_Source = Import
    Comp_CreatedBy = 1
    Comp_UpdatedBy = 1

这些字段将来自Lease表:

  Lease_primaryresident
  Lease_name

这就是我现在对存储过程的看法:

 INSERT INTO Resident (Comp_Name,Comp_NameLong)
    SELECT Lease_primaryresident,
       Lease_name
    FROM Lease
    WHERE NOT EXISTS (SELECT * FROM Resident
    WHERE Lease.Lease_primaryresident = Resident.comp_name);

如何在此插入期间将其他项目填入Resident记录(例如comp_typecomp_status等)?

非常感谢任何协助。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以向select中添加文字值,显然:

INSERT INTO Resident (Comp_Name,Comp_NameLong, Comp_Type, Comp_Status)
SELECT 
   Lease_primaryresident,
   Lease_name,
   'Resident',
   'Active'
FROM Lease
WHERE NOT EXISTS (SELECT * FROM Resident
WHERE Lease.Lease_primaryresident = Resident.comp_name);