sqlserver 批量导出存储过程脚本


USE database
go
--创建表
CREATE TABLE procinfo_history(procname VARCHAR(256),texts NVARCHAR(max),tjdate CHAR(10),ver INT DEFAULT 0, seq INT IDENTITY)
go
--存储过程导出操作
CREATE PROC backup_procedure
AS 
BEGIN

CREATE TABLE #proc( text VARCHAR(max))


DECLARE @tjdate CHAR(10),@ver int
DECLARE @proc NVARCHAR(128)
SELECT @tjdate=CONVERT(CHAR(10),GETDATE(),121)
IF (SELECT count(1) FROM procinfo_history)=0
SELECT  @tjdate='1970-01-01'
SELECT @ver=MAX(ver) FROM dbo.procinfo_history
SELECT @ver=ISNULL(@ver,0)+1
DECLARE cur CURSOR FOR SELECT name
                               FROM sys.objects WHERE type='p' AND schema_id=1 AND modify_date>@tjdate
OPEN cur
FETCH NEXT FROM cur INTO @proc
WHILE @@FETCH_STATUS=0
BEGIN
TRUNCATE TABLE #proc
INSERT #proc 
EXEC sp_helptext @proc
INSERT dbo.procinfo_history
    (
        procname,
        texts,
        tjdate,ver
    )
SELECT @proc,text,@tjdate,@ver FROM #proc
FETCH NEXT FROM cur INTO @proc
END
CLOSE cur
DEALLOCATE cur
DROP TABLE #proc
END

--每天定时备份
EXEC DBMonitor.dbo.backup_procedure
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值