openxml能否增加一个不在xml中的显示列?

sun_cathay 2008-04-20 08:16:37
比如我的xml文件中有name,sex字段
我想将数据导入到表中的时候增加一个fileid的字段,我使用
insert into hotel(fileid,name,set) select '61' as fileid,* from OPENXML(@h, '/njl',2) WITH hotel
提示“INSERT 语句的选择列表包含的项多于插入列表中的项。SELECT 语句中值的数目必须与 INSERT 语句中列的数目匹配。”
错误,请各位大侠帮忙


...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun_cathay 2008-04-20
  • 打赏
  • 举报
回复
谢谢
zjcxc 元老 2008-04-20
  • 打赏
  • 举报
回复
当然, 另外一种解决方法是你不要使用 WITH 表名, 而是指定 WITH(列定义和xpath), 这样也可以解决问题
zjcxc 元老 2008-04-20
  • 打赏
  • 举报
回复
由于你的xml解析是根据表结构来做的, 这意味着表中有那些列, 解析的结果就有那些列
你再人为的增加一个 '61' as fileid
这就导致 fileid 重复了, 所以指定了列的列表后就可以了
zjcxc 元老 2008-04-20
  • 打赏
  • 举报
回复
不要用 *

insert into hotel(fileid,name,set)
select '61' as fileid,name,set from OPENXML(@h, '/njl',2) WITH hotel

34,590

社区成员

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

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