小弟在写过程中遇见如下问题 大致如下
    declare @temp ntext
           set @temp =(select * from t for xml auto)  ---------这步报不能将ntext 当成局部变量来使用insert into (。。,@temp,。。 )  需要插入表的结构这个字段也是ntext的  不能改     nvarchar(max) 虽然有8000个, 但是还是不够用。  请教各位高人 有啥办法实现这个功能没 。谢谢大家不吝赐教了
 

解决方案 »

  1.   


    nvarchar(max)是2G
    nvarchar(4000)是最大
      

  2.   

    2005用NVARCHAR(MAX)
    2000分开用几个NVARCHAR(4000)
      

  3.   

    declare @temp varchar(8000)
    已经就够你用了
      

  4.   

    如果我存入的数据很大 因为是个xml  所以NVARCHAR(MAX) 能存么 不是8000么 咋变成2G了?2005改了?
      

  5.   

      declare @temp varchar(max) 
              set @temp ='select * from t for xml auto'
      

  6.   

    2000中NVARCHAR(4000)
    VARCHAR(8000)
      

  7.   

    谢谢楼上的几位兄弟的回答   请问SQL77  NVARCHAR(MAX)在2005有多大  足够使用么
      

  8.   


    DECLARE   @doc  xml
    SET   @doc='<?xml version="1.0" encoding="gb2312" ?>
    <employees>
        <employee>
            <empid>e0001</empid>
            <name>萧峰</name>
        </employee>
        <employee>
            <empid>e0002</empid>
            <name>段誉</name>
        </employee>
        <employee>
            <empid>e0003</empid>
            <name>王语嫣</name>
        </employee>
        <employee>
            <empid>e0003</empid>
            <name>张无忌</name>
        </employee>
    </employees>
    '
      

  9.   

    哎 表中的字段不能改的 我也想用xml啊
      

  10.   

    Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(max)、nvarchar(max) 和 varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最大为 2^31-1 个字节的数据。