34,590
社区成员
发帖
与我相关
我的任务
分享
use Master
go
if not object_id('sp_Read') is null
drop proc sp_Read
go
create proc sp_Read
(
@SQL nvarchar(max)
)
as
exec(@SQL)
go
declare @s nvarchar(max)
set @s='create proc P1 AS select 1 as COl,''''Exec'''' as SQL'
--'drop proc P1'--執行腳本
set @s ='exec ?.dbo.sp_Read '''+@s+''''
exec sp_msforeachdb @S
use Tempdb
go
--drop table Tmp
create table Tmp(SQL nvarchar(max))
insert Tmp select 'create proc dbo.p1
as
select 1 as Roy'
go
use Master
go
--drop proc sp_Read
create proc sp_Read
as
declare Roy cursor local for
select SQL from Tempdb.dbo.Tmp
declare @SQL nvarchar(max)
open roy
fetch next from Roy into @SQL
while @@Fetch_status=0
begin
exec(@SQL)
fetch next from Roy into @SQL
end
close Roy
deallocate roy
go
exec sp_msforeachdb 'exec ?.dbo.sp_Read'