如何从SQL Server 2012表中删除或更改dbo前缀?
有人已经问过这个问题,但没有得到答案 如何将SQL Server 2012中以dbo前缀开头的表更改为不带前缀的表 以下是答案(alter!!!),供有一天可能需要它的人参考:如何从SQL Server 2012表中删除或更改dbo前缀?,sql,sql-server,sql-server-2008,sql-server-2012,Sql,Sql Server,Sql Server 2008,Sql Server 2012,有人已经问过这个问题,但没有得到答案 如何将SQL Server 2012中以dbo前缀开头的表更改为不带前缀的表 以下是答案(alter!!!),供有一天可能需要它的人参考: IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'MyDbo')) BEGIN EXEC ('CREATE SCHEMA [MyDbo] AUTHORIZATION [dbo]') END ALTER SCHEMA MyDbo TRANS
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'MyDbo'))
BEGIN
EXEC ('CREATE SCHEMA [MyDbo] AUTHORIZATION [dbo]')
END
ALTER SCHEMA MyDbo
TRANSFER dbo.your_old_table
GO
将>mydb.tableName更改为dbo.tableName 1.单击F4或(视图>属性窗口), 2.然后点击你的桌子。
3.在“属性”窗口的“架构”字段中,更改属性。您有任何情况吗?因为从性能的角度来看,它是有用的。你不能——至少不能没有任何东西。一个表总是在一个模式中-它可以被称为
dbo
(默认值)或其他东西-但是你不能有“没有模式”…最重要的是,你不需要这样做。默认模式将与用户的默认模式相同,默认情况下为dbo
。如果模式与用户的模式相同,则不需要编写模式(而且由于您显然根本不知道模式,很可能是:)。所以只需使用[MyTable]
而不是[dbo].[MyTable]
,就可以了。无论如何,如果写[dbo]。
太麻烦了,也许你应该看看其他方法来改进你的代码:)我很久以前就开始写完全限定的名字了,从那以后就再也不回头了。你到底叫什么“前缀”?@Shaikh Farooque:我确实这么做了。你可以看看我下面的答案,这不是问题的答案。这不会“删除”dbo(模式)。它只会改变它。请更改问题或答案。这在SQL SRV 2017中不起作用。所有框都是灰色且不可编辑的。我需要删除.dbo的原因是,我导入了一个DB2数据库,从它附带的所有表中,有一个表被弄乱了,数据没有随它一起提供。它不允许我编辑出现问题的一列的列属性,因为当我去保存它时,它说不,我必须删除表。没什么大不了的,我创建了另一个,所有50多个表的命名约定都是DB2INST1.WHATEVER,新表现在是dbo.DB2INST1.WHATEVER。我不想要那个dbo在那里。