--你怎么处理的,把结果放到Text字段中去啊!

解决方案 »

  1.   

    --类似这么处理:Create table T(Texts text)
     go 
    insert into T exec sp_helptext 存储过程名称
    go
    EXEC master..xp_cmdshell 'bcp " select * from TEST.DBO.T " queryout "d:\文件名.txt" -c -q -S(local) -Usa -P'
    go
    Drop table T 
    go
      

  2.   

    是不是,我的思路有偏差了,不应该从SP_HELPTEXT中取,而是直接从SYSCOMENTS表中取才好!
    我其它的存储过程都没问题,就是单行超过255的出问题了.楼上没明白我的意思,你可试试,即使你生成成功了TXT文件,复制到SQL中也是不成功的,我特指
    单行超过255的
      

  3.   

    text 类型的文本内容太长时会分行存储,只在 行中存储指针,因此不管你怎么做不行。
      

  4.   

    CREATE PROCEDURE pp_test

    AS
    select 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeerrrrrrrrrrrrrrtttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiio'GO--用SP_HELPTEXT 'pr_test' 取得代码
     SP_HELPTEXT 'pr_test' 
    --得(用文本显示)CREATE PROCEDURE pp_test

    AS
    select 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeerrrrrrrrrrrrrrtttttttttttttttttttttyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiii
    iiiiiiiiiiiiiiiiiiiiiiiio'
    --因为SELECT 语句超过了255个字符,自动换行了,但没有任何换行符,不知原存储过程是一行还是
    分了行,各位可试试,拷贝SP_HELPTEXT'pr_test' 的输出结果再执行是无效的,如不超过255就可以
      

  5.   

    --是显示的问题.工具->选项->结果->最多字节数,改为(8000)就可以了!
      

  6.   

    不行啊,我试了还是不行.我把我的存储过程贴上来,大家帮我试试,把 INSERT 置于29列re字段就会分开两段了
    CREATE PROCEDURE pp_test AS
    declare  
    @cr_code varchar(16), 
    @gs_user_id  varchar(16),
    @apply_id  varchar(16),
    @rp_id  varchar(16),        --取得po单号
                 @rps_id  varchar(4),        --单据类型
                 --@cr_code varchar(10),       --供应商编号  
                 @rowcount1 int,              --@@error
                 @rowcount2 int,             -- @@error
                 @insrow1 int,             --@@rowcount
                 @insrow2 int,              --@@rowcount
                 @rowcount3 int,              --@@error
                 @rowcount4 int,             -- @@error
                 @insrow3 int,             --@@rowcount
                 @insrow4 int              --@@rowcount                            insert into bpohr(bpohr.po_id,bpohr.apply_id,bpohr.rec_dep,bpohr.po_type,bpohr.bill,bpohr.cr_code,bpohr.con_id,bpohr.paymoney,bpohr.rate,bpohr.payment,bpohr.po_desc,bpohr.send_add,bpohr.po_dt,bpohr.buyer,bpohr.version,bpohr.re,bpohr.lt,bpohr.a_user,bpohr.a_dt,bpohr.cle_user,bpohr.cle_dt)
                                           select top 1 @rp_id,a.apply_id,a.apply_dep,a.apply_type,b.bill,@cr_code,'',b.paymoney,1,b.payment,'','AA',getdate(),@gs_user_id,'0','','E',@gs_user_id,getdate(),'',null
                                           from bapplhr a, 
                                       bprice b
                                   
                                   where a.apply_id=@apply_id and b.cr_code=@cr_code
      

  7.   

    让INSERT INTO 和那些列保持在一行中