zoukankan      html  css  js  c++  java
  • SQL Server 2008的批量插入功能

    一次插入多行是SQL Server 2008的新功能。在插入的语句中添加逗号分隔即可:

    INSERT INTO person
    (id, name, age)
    VALUES
    (1, 'Kelvin', 22),
    (2, 'ini_always', 23);

    在数据比较多时,执行批量插入能提升性能。但是在SQL Server 2008之前的版本中并不提供此功能。

    但如果批量插入的数据来自其它表甚至其它数据源,上述方法就不行了,这时就要用INSERT INTO ... SELECT语句,示例如下:

    /* 定义一个常量并赋值为7 */
    DECLARE
    @profileID int
    SELECT @profileID=7

    /* 定义一个表变量tab_event并插入三条数据 */
    DECLARE @tab_event TABLE (
    eventType int NOT NULL
    )
    INSERT @tab_event
    VALUES (1), (2), (3)

    /* 定义待插入的表变量tab_test */
    DECLARE @tab_test TABLE (
    profileID int NOT NULL,
    eventType int NOT NULL
    )

    /* 插入三条数据到tab_test,这三条数据部分来自于常量profileID,部分来自于对表变量tab_event查询的结果 */
    INSERT @tab_test
    (profileID, eventType)
    SELECT @profileID, eventType FROM @tab_event
  • 相关阅读:
    国内好用的maven仓库,添加到本地nexus中
    02 介绍
    11 jsp脚本调用java代码
    12 jsp page 指令
    14 javaBean 组件
    13 jsp include
    01 Servlet & Jsp 技术概述
    pl/sql 实例精解 05
    pl/sql 实例精解 06
    pl/sql 实例精解 08
  • 原文地址:https://www.cnblogs.com/ini_always/p/2341942.html
Copyright © 2011-2022 走看看