не указывать название БД в MSSQL Studio в запросах
как избавиться от необходимости в SQL запросах каждый раз вбивать название БД и схемыгугл?
http://stackoverflow.com/questions/4942023/set-default-schem...
как избавиться от необходимостиА откуда возникает необходимость указывать?
Когда не указываешь, к какой базе коннектишься, например. Тогда берется дефолтная база пользователя, по-умолчанию, master
USE { database }
А откуда возникает необходимость указывать?если не указывать то матерится:
SELECT *
FROM [News]
---------------------------------
Msg 208, Level 16, State 1, Line 2
Invalid object name 'News'.
USE { database }http://technet.microsoft.com/en-us/library/ms188366.aspxвыполнил
USE DataBase в одном из окон MS SQL Managment Studio
но всё равно получаю ошибку в любой другом запросе Msg 208, Level 16, State 1, Line 2
Invalid object name 'Table'.
Попробовал ввести USE DataBase.dbo но ругается на такую команду
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '.'.
ну так надо в том окне, где дергаешь выполнять. Если в SSMS дергаешь - выбери в выпадающем списке сверху просто
Если в SSMS дергаешь - выбери в выпадающем списке сверху простода, это помогает, но стоит открыть новую вкладку - и там опять написано master. (сбрасывается на дефолтное видимо)
разумеется, потому что открывается новый коннект. Если тебя это так парит, пропиши своему пользователю дефолтную базу
да, это помогает, но стоит открыть новую вкладку - и там опять написано master. (сбрасывается на дефолтное видимо)новая вкладка открывается с той базой, которая сейчас текущая. Например, если набрать use db1, и открыть новую вкладку, то на новой будет тоже db1. Еще пример, если в дереве Object Explorer поставить курсор на базу и открыть новую вкладку, то текущей будет та база, на которой стоял курсор.
новая вкладка открывается с той базой, которая сейчас текущая. Например, если набрать use db1, и открыть новую вкладку, то на новой будет тоже db1. Еще пример, если в дереве Object Explorer поставить курсор на базу и открыть новую вкладку, то текущей будет та база, на которой стоял курсор.похоже оба утверждения не верны.
1) выполнил USE database1; затем открыл новую вкладку. всё равно выбран master (
2) Поставил курсор на одну из таблиц базы db1 , тыкнул по ней правой кнопкой, выбрал Select Top 1000 Rows для открытия новой вкладки - та же фигня, выбрана всё равно база master.
Все он правильно тебе сказал. Я уж не знаю, как ты там вкладки открываешь, но все, что написал верно (если открывать через New Query). Всякие Select Top 1000 Rows - да, открываются в мастере
Всякие Select Top 1000 Rows - да, открываются в мастерепонятно. тогда основной вопрос - как сделать чтоб Select Top 1000 Rows открывался именно в той базе, для таблицы которой я и выполняю Select Top 1000 Rows ?
Есть подозрение, что никак, хотя не интересовался. Этой функциональностью пользуюсь крайне редко
в автоматически создающихся запросах название базы и схемы прописывается. Набери тоже самое без них руками и все будет работать.
Этой функциональностью пользуюсь крайне редкоУ меня довольно частый юз-кейс - тыкнуть SELECT Top 1000 Rows и в сгенеренный запрос начать писать JOIN-ы
вот и приходится в каждом ждойне копипастить схему. потому и вопрос возник..
видимо придётся переучиваться на NewQuery и копипастинг из окна SELECT Top 1000 Rows в окно NewQuery
тупо конечно, раз по другому никак
У меня довольно частый юз-кейс - тыкнуть SELECT Top 1000 Rows и в сгенеренный запрос начать писать JOIN-ыну хз. Если все равно джойны пишешь, не проще ли запрос с самого начала писать в чистом окне? Подумаешь, на одну таблицу больше прописать. Лучше поставь плагины типа SSMS Tools или SSMSBoost, чтоб быстрее запросы набирать, а не пользуйся этой фичой - она только для того, чтоб быстро посмотреть, какие данные в таблице есть, что с указанными выше плагинами все равно делается намного проще
вот и приходится в каждом ждойне копипастить схему. потому и вопрос возник..
видимо придётся переучиваться на NewQuery и копипастинг из окна SELECT Top 1000 Rows в окно NewQuery
тупо конечно, раз по другому никак
Оставить комментарий
356ft85
как избавиться от необходимости в SQL запросах каждый раз вбивать название БД и схемыSELECT g.*, N.*, P.* FROM [DataBase].[dbo].table1 g
LEFT JOIN [DataBase].[dbo].table2 N ON N.p1=g.p1
LEFT JOIN [DataBase].[dbo].table3 P ON P.p2=g.p2