zoukankan      html  css  js  c++  java
  • sqlserver数据库一次插入多条数据

        前两天遇到需要一次性插入多条数据的情况,一开始就想到了,插入多条数据的语法

      insert into table(aa,bb,cc) select 'id','bb','bb',后来因为当前语句将同别的语句作为事务操作数据库,插入的第一列是从上个插入语句中获取的最后的ID(select max(id) from tableb),

    insert into table(id,bb,cc) select '((select max(id) from tableb)','bb','cc'报,号错误,和不能在此语句中使用子查询,就想到语法不对,就换了种思路,查到可以拼接插入语句,一次插入多条,也是有多少拼接多少, insert into table(id,bb,cc) values(1,'bb','cc'),(...),(...)这种为拼接的方式,是一个同事提醒我的,我用过后,程序执行成功了,心里特别的高兴,又见识了一种新语法,记住了这个语法点。下班后,我将项目拷贝回家,在家里写代码,一运行程序,就报错,我公司用的是sqlserver2008版,家里的笔记本是sqlserver2005,05版本不支持insert拼接批量执行的语法,没法子,我又开始想,其实第一种语法完全没有问题的,后来试了几次,原来是 insert into MessageShow(sid, assistPersonsId, remindInfo, remindPerson, remindDate, messageType, isActive,beforehandField1) select (select max(id) from SuperviseBasicInfo),'{0}','{1}',{2},'{3}',0,1,'{4}' ,将(select max(id) from SuperviseBasicInfo)写成了((select max(id) from SuperviseBasicInfo)),所以刚开始才报错的,我第一直觉是不支持,搞的绕了不少的弯路,不过这应该也是成长路上的必经之路吧,很多东西需要自己去摸索和经历,才能变成自己的,才能够让自己印象更深刻,从而去记住它,每天给自己加点油,come on!
                     

  • 相关阅读:
    多线程之生产者和消费者模式
    python多线程之线程同步--锁
    python多线程之动态确定线程数
    python多线程之循环,调用函数等
    V8 引擎是如何工作的?
    AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解
    字节码
    V8 引擎是如何工作的?
    JavaScript arguments对象
    V8 是怎么跑起来的 —— V8 中的对象表示
  • 原文地址:https://www.cnblogs.com/huizi/p/3193379.html
Copyright © 2011-2022 走看看