Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从SQL Server 2012表中删除或更改dbo前缀?_Sql_Sql Server_Sql Server 2008_Sql Server 2012 - Fatal编程技术网

如何从SQL Server 2012表中删除或更改dbo前缀?

如何从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

有人已经问过这个问题,但没有得到答案

如何将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 
    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在那里。