Quando qualificare tavolo o il nome vista con dbo in una query?
-
28-09-2019 - |
Domanda
Ho una visione in SQL Server, consente di dire MY_VIEW.
Quando eseguo il comando SELECT * FROM MY_VIEW
funziona benissimo. Tuttavia, quando eseguo come
SELECT * FROM dbo.MY_VIEW
Ottengo * valido nome di oggetto 'MyDB.dbo.MY_VIEW' *
sono collegato al server SQL utilizzando sa.
Cosa c'è di sbagliato in questo? E quando dovremmo usare dbo.MY_VIEW e quando non?
Aggiornamento:. Il nome dello schema sulla vista è dbo e quando ho creato la vista anche allora avevo collegato con sa
Update2 Ho trovato il problema era caso di confronto sensibile. Il problema non era a causa del dbo. prefisso. E 'stato perché le regole di confronto del database è stata maiuscole e minuscole e nomi delle tabelle nelle query erano in caso sbagliato.
Soluzione 3
Ho trovato il problema era caso di confronto sensibile. Il problema non era a causa del dbo. prefisso. E 'stato perché le regole di confronto del database è stata maiuscole e minuscole e nomi delle tabelle nelle query erano in caso sbagliato.
Altri suggerimenti
Hai creato oggetti con un nome diverso da quello dello schema dbo? Sarebbe dipenderà dal nome schema predefinito per l'account utente se non si qualificano quando è stata creata la vista. In SQL 2k5 e 2k8 credo che il comportamento predefinito è quello di creare un nuovo schema per ogni utente contro loro assegnando al 'dbo' schema.
Sei nel database master. Hai creato la vista nel database master. La vostra query reale è stato SELECT * FROM MyDB.dbo.MY_VIEW
. Prova a creare la vista nel database MyDB invece.