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
  • 相关阅读:
    Git 三种状态
    Git如何合并其它分支
    Git开发测试流程
    curl工具简介
    asp.net Forums 之HttpHandler和HttpModule
    WebRTC入门
    mac安装Homebrew
    iOS加载动态自定义字体
    My Frist in this frist!!
    javascript中直接取得DWR方法的返回值
  • 原文地址:https://www.cnblogs.com/ini_always/p/2341942.html
Copyright © 2011-2022 走看看