union all select 语法错误

dqlihb 2009-12-02 07:34:07
字段 id,data1,用sql快速写入access本地文件

strSql :='INSERT INTO MyTable (id,data1)'+#13;
for I :=0 to 99 do
strSql := strSql+'SELECT'+ IntToStr(I)+','+ floattostr(1.1)+' UNION ALL'+ #13;
strSql := strSql+'SELECT'+ IntToStr(100)+','+ floattostr(5.5);
query.close;
query.sql.clear;
query.sql.add(strSql);
query.execsql;

语法错误(操作符丢失)在查询表达式 '1.1 union all select 1'中
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dqlihb 2009-12-02
  • 打赏
  • 举报
回复
楼上:如何分2批?
阿三 2009-12-02
  • 打赏
  • 举报
回复
不支持的话,分两次批量写入吧
dqlihb 2009-12-02
  • 打赏
  • 举报
回复
楼上的,你试了吧
好象不支持union
wooden954 2009-12-02
  • 打赏
  • 举报
回复
5楼的代码有下划线的表示空格
wooden954 2009-12-02
  • 打赏
  • 举报
回复
for I :=0 to 99 do
strSql := strSql+' SELECT '+ IntToStr(I)+' , '+ floattostr(1.1)+' UNION '+ #13;
strSql := strSql+' SELECT '+ IntToStr(100)+' , '+ floattostr(5.5);

注意Select等语句需要前后有空格
dqlihb 2009-12-02
  • 打赏
  • 举报
回复
要求就是速度快,数据是顺序加入的,只要不加入到前面就行了
可以是空数据表和文件
就是把内存数据保存为access格式而已,目的是要快,数据可能xxxk行
bdmh 2009-12-02
  • 打赏
  • 举报
回复
access 不支持UNION ALL,就用union不行吗,不知你具体的要求
dqlihb 2009-12-02
  • 打赏
  • 举报
回复
哦,
那有什么办法批量写入呢
haitao 2009-12-02
  • 打赏
  • 举报
回复
access支持union all吗?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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