CREATE PROCEDURE DataProcess
(
@OldName nvarchar(50),
@NewName nvarchar(50)
)
as
exec('delete from '+@NewName+'.dbo.FIELDSTYLE')
exec('insert into '@NewName+'.dbo.FIELDSTYLE')
exec('select * from '+@OldName+'.dbo.FIELDSTYLE')
(
@OldName nvarchar(50),
@NewName nvarchar(50)
)
as
exec('delete from '+@NewName+'.dbo.FIELDSTYLE')
exec('insert into '@NewName+'.dbo.FIELDSTYLE')
exec('select * from '+@OldName+'.dbo.FIELDSTYLE')
(
@OldName nvarchar(50),
@NewName nvarchar(50)
)
as
exec 'delete from '+@NewName+'.dbo.FIELDSTYLE'
exec 'insert into '+@NewName+'.dbo.FIELDSTYLE'
exec 'select *
from '+@OldName+'.dbo.FIELDSTYLE'
CREATE PROCEDURE DataProcess
(
@OldName nvarchar(50),
@NewName nvarchar(50)
)
as
delete from @NewName.dbo.FIELDSTYLE
insert into @NewName.dbo.FIELDSTYLE
select *
from @OldName.dbo.FIELDSTYLE
但上面的存储存在错误,请问应如何处理?CREATE PROCEDURE DataProcess
(
@OldName nvarchar(50),
@NewName nvarchar(50)
)
as
declare @sql1 nvarchar(4000),@sql2 nvarchar(4000),@sql3 nvarchar(4000)
select @sql1='delete from '+@NewName+'.dbo.FIELDSTYLE'
execute executesql @sql1
select @sql2='insert into '+@NewName+'.dbo.FIELDSTYLE'
execute executesql @sql2
select @sql3='select * from '+@OldName+'.dbo.FIELDSTYLE'
execute executesql @sql3
(
@OldName nvarchar(50),
@NewName nvarchar(50)
)
as
exec('delete from '+@NewName+'.dbo.FIELDSTYLE')
exec('insert into '@NewName+'.dbo.FIELDSTYLE select * From '+@OldName+'.dbo.FIELDSTYLE')