<pre class=\"replyask-text\" id=\"content-4311646\">下面这个脚本是导出备份存储过程,函数,触发器等的:
Create Proc [dbo].[Proc_ExportProc]
(
@Filter nvarchar(200) /**//*查询条件例如 where 1=1 */
)
/**//*
Create By HJ 2007-12-3
备份存储过程,函数,触发器等,可直接运行
*/
As
Begin
if @Filter is null
Set @Filter = \'\'
Declare @Text varchar(8000),
@Name nvarchar(100),
@XType nvarchar(20)
Print \'Use \' db_name()
Declare myCurrsor Cursor For
Select a.[Text],b.[name] from syscomments a
Left Outer Join Sysobjects b On a.id=b.id @Filter
Open myCurrsor
Fetch Next from myCurrsor into @Text,@Name
While @@Fetch_Status = 0 --表示读取到数据,相当于 ADO 中 Not Eof
Begin
Select @XType=xtype from Sysobjects where [name]=@Name
If @XType = \'TR\'
Begin
Print \'if Exists(Select 1 from Sysobjects where xtype=\'\'TR\'\' and [name]=\'\'\' @Name \'\'\')\'
Print \'Drop Trigger \' @Name \'\'
End
Else If @XType = \'FN\'
Begin
Print \'if Exists(Select 1 from Sysobjects where xtype=\'\'FN\'\' and [name]=\'\'\' @Name \'\'\')\'
Print \'Drop Function \' @Name \'\'
End
Else If @XType = \'P\'
Begin
Print \'if Exists(Select 1 from Sysobjects where xtype=\'\'P\'\' and [name]=\'\'\' @Name \'\'\')\'
Print \'Drop Proc \' @Name \'\'
End
Else
GoTO NextFetch
Print \'exec(\'\'\' replace(@Text,\'\'\'\',\'\'\'\'\'\') \'\'\')\'
NextFetch:
Fetch Next from myCurrsor into @Text,@Name
End
Close myCurrsor
--关闭游标
Deallocate myCurrsor--删除游标
End
|