sql – INSERT INTO SELECT vs VALUES

前端之家收集整理的这篇文章主要介绍了sql – INSERT INTO SELECT vs VALUES前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尽管在表中插入一行时,没有任何理由(除了可能来自美学)使用INSERT INTO SELECT,使用这个和INSERT INTO VALUES有什么不同吗?

解决方法

使用INSERT INTO … SELECT方法可以根据一些标准从另一个表中选择您的值.
INSERT INTO dbo.TargetTable(Col1,Col2,....,ColN)
   SELECT Col1,...,ColN
   FROM dbo.SourceTable
   WHERE (some condition)

这可能会更容易一些,更可读写,而不是从源表中检索20个值,将其隐藏到临时变量中,以便您可以调用INSERT INTO dbo.Destination(….)VALUES( ……)声明…

DECLARE @Value1 INT
DECLARE @Value2 DATETIME
....
DECLARE @ValueN INT

SELECT 
      @Value1 = Col1,@Value2 = Col2,....
      @ValueN = ColN
FROM 
    dbo.SourceTable
WHERE
     (some condition) 

INSERT INTO dbo.TargetTable(Col1,ColN)
VALUES(@Value1,@Value2,.....,@ValueN)

但是最后 – 这只是插入数据的INSERT语句 – 它只是一个个人偏好的问题,哪种方法更容易/更方便使用….

猜你在找的MsSQL相关文章