如何使用“值”和“选择其他表”将其插入表中?

时间:2018-08-26 11:28:45

标签: sql-server tsql

我想使用Insert关键字和其他表的Values来在我的表中select个数据,例如:

INSERT INTO ProductGroupTypeTranslation(CreationTime, Title, CoreId, Language)
VALUES (GETDATE())
SELECT PersianName, Id, EnName FROM ProductGroupTypeAsName

有可能吗?还是我的查询是真的?

如果没有,我该怎么办?

请注意,我要插入的某些数据是在另一个可以插入并插入它们的表中记录的,我必须使用Values关键字进行设置。

3 个答案:

答案 0 :(得分:4)

简单地:

INSERT INTO ProductGroupTypeTranslation(CreationTime, Title, CoreId, Language)
    SELECT
        GETDATE(), PersianName, Id, EnName 
    FROM
        ProductGroupTypeAsNam;

如果您只想插入ProductGroupTypeAsNam中的某些数据,则应使用WHERE

答案 1 :(得分:1)

尝试

INSERT INTO ProductGroupTypeTranslation(CreationTime, Title, CoreId, Language)
    SELECT
        GETDATE(), PersianName, Id, EnName 
    FROM
        ProductGroupTypeAsName

或者,如果所有插入的行都需要相同的日期值

DECLARE @now datetime = GETDATE();

INSERT INTO ProductGroupTypeTranslation(CreationTime, Title, CoreId, Language)
    SELECT
        @now, PersianName, Id, EnName 
    FROM
        ProductGroupTypeAsName

答案 2 :(得分:1)

可以使用以下方法完成此操作:

INSERT INTO ProductGroupTypeTranslation(CreationTime, Title, CoreId, Language)
    SELECT
        GETDATE(), PersianName, Id, EnName 
    FROM
        ProductGroupTypeAsName;

即您将值嵌入到select语句中,就像在投影一样。