Sql server 如何从架构创建表
我的数据库中有一个名为tbRep的表 我在SQL Server数据库上有3个模式 十、 Y,Z 现在X&Y有了名为X.tbRep&Y.tbRep的表 但是,当我尝试从例如X.tbRep使用CREATE To脚本并尝试为新模式Z创建一个脚本时,它会抛出一个错误: Msg 2714,第16级,第6状态,第2行 数据库中已存在名为“tbRep”的对象 我做错了什么 我确信Z.tbRep不存在 创建脚本Sql server 如何从架构创建表,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,我的数据库中有一个名为tbRep的表 我在SQL Server数据库上有3个模式 十、 Y,Z 现在X&Y有了名为X.tbRep&Y.tbRep的表 但是,当我尝试从例如X.tbRep使用CREATE To脚本并尝试为新模式Z创建一个脚本时,它会抛出一个错误: Msg 2714,第16级,第6状态,第2行 数据库中已存在名为“tbRep”的对象 我做错了什么 我确信Z.tbRep不存在 创建脚本 -检查表是否不存在,如果不存在,请添加创建脚本 如果不存在,请从sys.tables中选择name,
-检查表是否不存在,如果不存在,请添加创建脚本 如果不存在,请从sys.tables中选择name,其中name='tpRep' 开始 -表创建代码在这里
结束在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')
您能显示实际的create语句吗?您是否验证了模式Z还没有这样的表?如果您右键单击X.tbRep并说Script To>,则需要将[X]更改为[Z]。您是否绝对确定没有Z.tbRep?尝试失败可能会留下这样的表。没有Z.tbRep。我已经发布了代码来尝试从INFORMATION\u SCHEMA.TABLES中选择*它显示了什么?或者更好的方法是:从sys.all\u objects中选择*它返回多少行?
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')