declare @count int declare @name varchar(20)--'procname' declare @username varchar(20)--'dbo' select identity(int,1,1) as id,name into #t from sysobjects where xtype='p' select @count=count(*) from #t while(@count>0) begin select @name=name from #t where id=@count EXEC sp_changeobjectowner @name,@username set @count=@count-1 end
--遍历修改存储过程所有者 --声明一个游标 DECLARE @ID INT declare @name nvarchar(50) DECLARE mmp CURSOR FOR select id from sysobjects where xtype='p' --打开游标 open mmp FETCH NEXT FROM mmp INTO @id WHILE @@FETCH_STATUS = 0 begin select @name=name from sysobjects where id=@id EXEC sp_changeobjectowner @name,'dbo' FETCH NEXT FROM mmp INTO @id end CLOSE mmp DEALLOCATE mmp
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '
单个修改:
exec sp_changeobjectowner '要改的表名','dbo'
declare @name varchar(20)--'procname'
declare @username varchar(20)--'dbo'
select identity(int,1,1) as id,name into #t from sysobjects where xtype='p'
select @count=count(*) from #t
while(@count>0)
begin
select @name=name from #t where id=@count
EXEC sp_changeobjectowner @name,@username
set @count=@count-1
end
--声明一个游标
DECLARE @ID INT
declare @name nvarchar(50)
DECLARE mmp CURSOR FOR
select id from sysobjects where xtype='p'
--打开游标
open mmp
FETCH NEXT FROM mmp
INTO @id
WHILE @@FETCH_STATUS = 0
begin
select @name=name from sysobjects where id=@id
EXEC sp_changeobjectowner @name,'dbo'
FETCH NEXT FROM mmp
INTO @id
end
CLOSE mmp
DEALLOCATE mmp