insert 多行插入问题

toploveall 2009-12-29 02:58:30
我本地的SQL

insert into TempTable(id,name)
values(4,'a'),
(5,'b'),
(6,'b'),
(7,'b'),
(8,'b')

没问题,能插入成功

服务器上的SQL

insert into TempTable(id,name)
values(4,'a'),
(5,'b'),
(6,'b'),
(7,'b'),
(8,'b')

语法错误,错误具体如下:
消息 170,级别 15,状态 1,第 2 行
第 2 行: ',' 附近有语法错误。

不知为什么,所有的sql语句都是在英文输入法下写的。
...全文
238 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
addfox 2009-12-30
  • 打赏
  • 举报
回复
学习!
xuejie09242 2009-12-30
  • 打赏
  • 举报
回复
p这个语法只有在sql2008上才可以,是08新增的功能,其他的版本都不行的。
realclimax 2009-12-30
  • 打赏
  • 举报
回复
注意,如果数据过多,使用union可能还不如使用多个insert速度快
a43528782 2009-12-30
  • 打赏
  • 举报
回复
学习了。
lining86yc 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 sweatcoffee 的回复:]
study
[/Quote]又见菩提MM
sych888 2009-12-30
  • 打赏
  • 举报
回复
学习
sych888 2009-12-30
  • 打赏
  • 举报
回复
insert into TempTable(id,name)
select 4,'a' union all
select 5,'b' union all
select 6,'b' union all
select 7,'b' union all
select 8,'b'
qiqi860819 2009-12-30
  • 打赏
  • 举报
回复
还没用过2008
第一次见这种写法
Mr_Nice 2009-12-30
  • 打赏
  • 举报
回复
学习,2008还有这个功能啊!
liyangfd 2009-12-30
  • 打赏
  • 举报
回复
create table temptable
(
id int,
name varchar(20)
)



insert into TempTable(id,name)
values(4,'a'),
(5,'b'),
(6,'b'),
(7,'b'),
(8,'b')


drop table temptable



经测试 2008 是可以的
05 是不行的 只能用union all
NDDavid 2009-12-30
  • 打赏
  • 举报
回复
学习了
忆轩辕 2009-12-30
  • 打赏
  • 举报
回复
SQL2008可以这样写,之前的版本只能union all
aaajedll 2009-12-30
  • 打赏
  • 举报
回复
2000已經測試不行
wolaile27 2009-12-29
  • 打赏
  • 举报
回复
2008才有这个功能,
用UNION 连在一起插入
sweatcoffee 2009-12-29
  • 打赏
  • 举报
回复
study
Love_baba_mama 2009-12-29
  • 打赏
  • 举报
回复
升级哈
liuxg1981 2009-12-29
  • 打赏
  • 举报
回复
学习了,这个是高版本才有的功能!
chenhuoren 2009-12-29
  • 打赏
  • 举报
回复
害我都来看了看
toploveall 2009-12-29
  • 打赏
  • 举报
回复
大家这一说,我就明白了,是版本不一样造成的。
--小F-- 2009-12-29
  • 打赏
  • 举报
回复
2005不能这样做的
加载更多回复(11)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧