Sql server 更改sql server查询,以便不必指定数据库的所有级别

Sql server 更改sql server查询,以便不必指定数据库的所有级别,sql-server,database,Sql Server,Database,我想做的不是写: Select something From [Parent].[dbo].[Table] 我想在编写查询之前声明前2个,这样当我必须使用多个选择时,我就不必一直指定[parent].[dbo]。我记得你可以这样做: use [parent].[dbo] select something From tabel 这似乎会在..处生成警告102。。我试过用谷歌搜索,但我得到的只是在生成查询时使用,与数据库名称无关。dbo部分是隐含的。只要这样做: use [parent] sel

我想做的不是写:

Select something From [Parent].[dbo].[Table]
我想在编写查询之前声明前2个,这样当我必须使用多个选择时,我就不必一直指定[parent].[dbo]。我记得你可以这样做:

use [parent].[dbo]
select something From tabel

这似乎会在..处生成警告102。。我试过用谷歌搜索,但我得到的只是在生成查询时使用,与数据库名称无关。

dbo部分是隐含的。只要这样做:

use [parent]
select something From tabel

正如不信者Damien_所指出的,只有当dbo是用户的默认模式时,dbo部分才有效。

父项必须是您的数据库

因此,如果要使用特定数据库而不指定它:

使用[数据库]

DBO是隐含的,但如果要使用另一个模式,则需要在SQL中指定该模式,即ala newschema.Table1

如果您不使用它,您还可以通过为表使用别名来减少代码中的混乱

选择a.Column1、a.Column2 从表1中选择一个JOIN 表2 a.Column1上的b=b.Column1 其中a.column1='SomeValue'


如果表1后面的a是表1的别名,那么基本上就是给表一个用于此查询的昵称。b也是一样,它是表2的别名。这比从表1中选择表1.Column1、表1.Column2要简单得多。唉,是的,我做这件事时有一个警告,说tabel没有被识别出来,但他们写的是组织,而不是组织。我喜欢拼写错误;这也给我带来了很多痛苦。只有当dbo是用户的默认模式时,才会暗示dbo部分。嗯,这是我第一份工作的第四天,我大部分时间都在代码和数据中搜索,所以拼写错误真的是一件痛苦的事。@Damien说得好。我会加上这个,这样我就不会把人搞糊涂了。谢谢