应该怎么做呢。有十个左右表有涉及到存储过程
16 个解决方案
#1
一个一个改
#2
没有比较简单的方法吗
#3
只改表名的话用游标写个循环很容易实现,但是还要改相关的存储过程的话...
#4
用游标写个循环很容易实现
怎么实现啊,存储过程里面都是简单的啊,我修改一下就可以了
怎么实现啊,存储过程里面都是简单的啊,我修改一下就可以了
#5
use 库名
go
declare @tbname varchar(300),@i int
declare @tb table(id int identity(1,1) primary key,name varchar(300))
insert into @tb select name from sysobjects where xtype='u'
set @i=1
while @i<=(select max(id) from @tb)
begin
select @tbname=name from @tb where id=@i
exec('sp_rename '''+@tbname+''',''TB_'+@tbname+''' ')
set @i=@i+1
end
#6
参考一下以前邹老大给的例子
exec sp_msforeachtable
@command1='
declare @o sysname,@n sysname
select @o=''?''
,@n=stuff(@o,1,charindex(''].[ABC_'',@o)+6,'''')
,@n=left(@n,len(@n)-1)
exec sp_rename @o,@n',
@whereand=' and o.name like ''ABC_%'''
#7
这例子是把表的前缀“ABC_”去掉
#8
全部一下改啊,没试过哦
#9
exec sp_msforeachtable '
declare @tbname sysname,@newtbname sysname
select @tbname=''?'',@newtbname=substring(@tbname,charindex(''].['',@tbname)+3,1000)
,@newtbname=''TB_''+left(@newtbname,len(@newtbname)-1)
exec sp_rename @tbname,@newtbname
'
#10
谢谢各位
#11
按F1
搜索
sysobjects
sp_rename
搜索
sysobjects
sp_rename
#12
MASTER.dbo.xp_execresultset 'SELECT ''exec sp_rename ''''''+NAME+'''''',''''TB_''+NAME+'''''''' from sysobjects WHERE xtype=''U''',N'表名'
#13
最后那个应该是库名.
#14
对,不好意思
#15
这么多大招,我就不发了。顺便学习
#16
5楼的兄弟,你的循环次数也太大了吧。
#1
一个一个改
#2
没有比较简单的方法吗
#3
只改表名的话用游标写个循环很容易实现,但是还要改相关的存储过程的话...
#4
用游标写个循环很容易实现
怎么实现啊,存储过程里面都是简单的啊,我修改一下就可以了
怎么实现啊,存储过程里面都是简单的啊,我修改一下就可以了
#5
use 库名
go
declare @tbname varchar(300),@i int
declare @tb table(id int identity(1,1) primary key,name varchar(300))
insert into @tb select name from sysobjects where xtype='u'
set @i=1
while @i<=(select max(id) from @tb)
begin
select @tbname=name from @tb where id=@i
exec('sp_rename '''+@tbname+''',''TB_'+@tbname+''' ')
set @i=@i+1
end
#6
参考一下以前邹老大给的例子
exec sp_msforeachtable
@command1='
declare @o sysname,@n sysname
select @o=''?''
,@n=stuff(@o,1,charindex(''].[ABC_'',@o)+6,'''')
,@n=left(@n,len(@n)-1)
exec sp_rename @o,@n',
@whereand=' and o.name like ''ABC_%'''
#7
这例子是把表的前缀“ABC_”去掉
#8
全部一下改啊,没试过哦
#9
exec sp_msforeachtable '
declare @tbname sysname,@newtbname sysname
select @tbname=''?'',@newtbname=substring(@tbname,charindex(''].['',@tbname)+3,1000)
,@newtbname=''TB_''+left(@newtbname,len(@newtbname)-1)
exec sp_rename @tbname,@newtbname
'
#10
谢谢各位
#11
按F1
搜索
sysobjects
sp_rename
搜索
sysobjects
sp_rename
#12
MASTER.dbo.xp_execresultset 'SELECT ''exec sp_rename ''''''+NAME+'''''',''''TB_''+NAME+'''''''' from sysobjects WHERE xtype=''U''',N'表名'
#13
最后那个应该是库名.
#14
对,不好意思
#15
这么多大招,我就不发了。顺便学习
#16
5楼的兄弟,你的循环次数也太大了吧。