怎么用sql实现自动把一个存贮过程脚本保存出来

解决方案 »

  1.   

    EXEC SP_HELPTEXT '过程名'
      

  2.   

    create proc proc_ttt
    as
    select 1 union select 2
    select [text] as '语句' from syscomments
    where id=object_id('proc_ttt')
    语句
    create proc proc_ttt  as  select 1 union select 2
      

  3.   

    select * from dbo.syscomments where id=object_id('存储过程名')
      

  4.   

    select [text] from sys.syscomments where id = object_id(N'p_test')
    go
      

  5.   

    取来放表里面。好取,但是我导出来以后,格式不对,会多一个换行,BCP导出的
      

  6.   

    if  exists (select  * from sysobjects where name ='t_sys_bcp_proc_tmp') 
    drop table  t_sys_bcp_proc_tmp create table t_sys_bcp_proc_tmp (pr_valuers char(8000)) insert  into  t_sys_bcp_proc_tmp
    exec sp_helptext @object_name

    set @file_name = @file_path +'存储过程'+ @object_name +'.txt'
    --备份存贮脚本
    set @sql = ''
    set @sql  = 'bcp "'+@databasename+'.dbo.t_sys_bcp_proc_tmp" out "'+@file_name+'" -t -U "sa" -P"'+@password+'" '
    exec  master..xp_cmdshell  @sql