Измените запрос SQL Server, чтобы вам не нужно было указывать все уровни для базы данных. - PullRequest
1 голос
/ 04 февраля 2011

Что я хочу сделать, это вместо того, чтобы писать:

Select something From [Parent].[dbo].[Table]

Я хочу объявить первые 2 перед тем, как написать запрос, поэтому, когда мне приходится использовать несколько selects, мне не нужно указывать [parent].[dbo] все время. Я помню, что вы можете сделать что-то вроде этого:

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

Это похоже на предупреждение 102, на ".". Я попытался погуглить это, но все, что я получаю, это «использовать» при выполнении сгенерированных запросов, ничего общего с именами баз данных.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2011

Часть dbo подразумевается.Просто сделайте это:

use [parent]
select something From tabel

Как указал Damien_The_Unbeliever, часть dbo имеет значение только , если dbo - схема пользователя по умолчанию.

0 голосов
/ 04 февраля 2011

Родитель должен быть вашей БД.

Поэтому, если вы хотите использовать конкретную базу данных без ее указания:

use [DataBase]

DBO подразумевается, но если выЕсли вы хотите использовать другую схему, вам нужно будет указать схему в своем SQL, ala newschema.Table1

Если вы не используете ее, вы также можете уменьшить беспорядок в своем коде, используя псевдонимы для вашегоtables, ala

SELECT a.Column1, a.Column2<br> FROM table1 a JOIN<br> table2 b ON a.Column1 = b.Column1<br> WHERE a.column1 = 'SomeValue'

, где a, который следует за table1, является псевдонимом для table1, в основном вы задаете псевдоним для этого запроса.То же самое для b, это псевдоним для table2.Это гораздо менее загромождено, чем SELECT table1.Column1, table1.Column2 FROM table1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...