sqlserver中xml数据类型使用较少,不是很清楚,现在想试试。比如,我在数据库中有一张表test,里面的字段设为:
id       int //自增
content  xml //
那么现在我如果想将下面的xml文件插入进去,在查询分析器中该怎么写呢。<?xml version="1.0" encoding="gb2312"?>
<books>
  <book id="0">大江东去</book>
  <book id="1">东周列国</book>
  <book id="2">先秦故事</book>
  <book id="3">三晋之家</book>
</books>

解决方案 »

  1.   

    --> 测试数据:[tb]
    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([id] INT IDENTITY(1,1) PRIMARY KEY ,[content] XML)
    INSERT [tb] SELECT '<?xml version="1.0" encoding="gb2312"?>
    <books>
      <book id="0">大江东去</book>
      <book id="1">东周列国</book>
      <book id="2">先秦故事</book>
      <book id="3">三晋之家</book>
    </books>'
    --------------开始查询--------------------------SELECT * FROM [tb]
      

  2.   

    xml 数据 加上单引号即可
      

  3.   

    好的。感谢了。那如果我表中还有一个字段。比如comm(varchar类型的),我同时插入的话,是这样写吗?INSERT into [tb](content,comm) values(SELECT '<?xml version="1.0" encoding="gb2312"?>
    <books>
      <book id="0">大江东去</book>
      <book id="1">东周列国</book>
      <book id="2">先秦故事</book>
      <book id="3">三晋之家</book>
    </books>','hellworld');好像不对啊!
      

  4.   

    这样写就可以了。INSERT into [tb](content,comm) values((SELECT '<?xml version="1.0" encoding="gb2312"?>
    <books>
      <book id="0">大江东去</book>
      <book id="1">东周列国</book>
      <book id="2">先秦故事</book>
      <book id="3">三晋之家</book>
    </books>'),'hellworld');加一对括号!
      

  5.   

    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([id] INT IDENTITY(1,1) PRIMARY KEY ,[content] XML)
    INSERT [tb] SELECT '<?xml version="1.0" encoding="gb2312"?>
    <books>
      <book id="0">大江东去</book>
      <book id="1">东周列国</book>
      <book id="2">先秦故事</book>
      <book id="3">三晋之家</book>
    </books>'
    --------------开始查询--------------------------SELECT * FROM [tb]
    -----------------------------------------------
    INSERT into [tb](content,comm) values((SELECT '<?xml version="1.0" encoding="gb2312"?>
    <books>
      <book id="0">大江东去</book>
      <book id="1">东周列国</book>
      <book id="2">先秦故事</book>
      <book id="3">三晋之家</book>
    </books>'),'hellworld');
      

  6.   

    INSERT into [tb](content,comm) values('<?xml version="1.0" encoding="gb2312"?>
    <books>
      <book id="0">大江东去</book>
      <book id="1">东周列国</book>
      <book id="2">先秦故事</book>
      <book id="3">三晋之家</book>
    </books>','hellworld');把select去掉。
    或者去掉括号。 select 'aa','bb'