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!
                 

posted on 2013-07-16 15:00  慧语  阅读(5447)  评论(0编辑  收藏  举报

导航