22,210
社区成员
发帖
与我相关
我的任务
分享
Begin Transcation
go
execute sp_rename 'A', 'A_temp'
go
execute sp_rename 'B', 'A'
go
commit
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_a1
(
name varchar(10) NOT NULL,
A_c1 int NULL,
dt AS getdate()
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.a1)
EXEC('INSERT INTO dbo.Tmp_a1 (name, A_c1)
SELECT name, A_c1 FROM dbo.a1 WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.a1
GO
EXECUTE sp_rename N'dbo.Tmp_a1', N'a1', 'OBJECT'
GO
COMMIT
create table a(id int)
select * into b from a
exec sp_rename 'a','c'
exec sp_rename 'b','a'
--加上判断
if object_id('A') is not null
create table a(id int)
select * into b from a
bein tran
begin try
exec sp_rename 'a','a_temp';
exec sp_rename 'b',a';
commit tran
end try
begin catch
rollback tran
end catch