我的数据库中有一个名为tbRep的表
我在SQL Server数据库上有3个模式 X,Y,Z
现在X& Y有名为X.tbRep&的表。 Y.tbRep
然而,当我尝试使用CREATE To脚本时,例如X.tbRep并尝试为新模式Z创建一个,它会抛出一个错误,
Msg 2714,Level 16,State 6,Line 2 数据库中已经有一个名为“tbRep”的对象。
我在这里做错了什么?
我确定Z.tbRep不存在
创建脚本
USE [Info]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Z].[tbRep](
[ReplicaGroup] [varchar](50) NOT NULL,
[RunFrequencyUnit] [char](1) NOT NULL,
[Enabled] [bit] NOT NULL,
[LastRun] [datetime] NOT NULL,
[RunFrequency] [int] NOT NULL,
[ReplicationWindowType] [char](1) NOT NULL,
[ReplicationWindowSize] [tinyint] NOT NULL,
CONSTRAINT [PK_tbReplicaGroups] PRIMARY KEY CLUSTERED
(
[ReplicaGroup] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [Z].[tbReplicaGroups] ADD CONSTRAINT [DF_tbReplicaGroups_ReplicationWindowType] DEFAULT ('D') FOR [ReplicationWindowType]
GO
ALTER TABLE [Z].[tbReplicaGroups] ADD CONSTRAINT [DF_tbReplicaGroups_ReplicationWindowSize] DEFAULT ((1)) FOR [ReplicationWindowSize]
GO
答案 0 :(得分:0)
- 检查表格是否已经存在,如果没有添加您的创建脚本
如果不存在(从sys.tables中选择name ='tpRep'的名称)
BEGIN
- 表创建代码在这里
END
答案 1 :(得分:0)
您可以在CREATE TABLE语句之前执行此操作,并告诉我们您是否收到任何内容?
select *
from sys.all_objects
where sys.all_objects.name = 'tbRep' and
sys.all_objects.type = 'U' and
sys.all_objects.schema_id = (select schema_id from sys.schemas where sys.schemas.name = 'Z')