2010-04-17 4 views
0

Je me demande s'il existe un moyen de modifier le schéma dans lequel je travaille à l'intérieur de Management Studio. Par exemple, je peux avoir un schéma par défaut de dbo. Mais il y a des moments où je peux vouloir interroger des objets dans le schéma de comptabilité, par exemple. Ce serait bien si je pouvais émettre une commande et la rendre ainsi je ne dois plus inclure la comptabilité avant les tables et les vues. Mais la prochaine fois que j'irai, je serai de retour à défaut de dbo.Modifiez dynamiquement mon schéma

Répondre

0

Vous devez toujours préfixer vos objets avec un schéma. Dans la base de données AdventurWorks, vous remarquerez l'utilisation extensive des schémas:

Select ... From Person.Contact 
Select ... From Person.StateProvince 

Dans chaque requête, vous préfixe l'objet avec le schéma et les séparer avec une période. (<schema>.<object>). Il nécessite plus de travail de la part du système pour déterminer quel objet vous voulez quand vous omettez le schéma. Même si tous les objets auxquels vous faites référence sont dbo, vous devez inclure dbo dans toutes vos références d'objet.

Maintenant, tout ce que dit, vous pouvez modifier votre schéma par défaut en utilisant ALTER USER:

ALTER USER userName WITH DEFAULT_SCHEMA = schemaName 

Même si, je vous recommande fortement d'inclure toujours le schéma lorsque vous faites référence tout objet.

+0

Je sais que je peux toujours utiliser le nom du schéma, et que je peux changer mon schéma par défaut. Ce que je cherche est un moyen rapide de changer cette valeur par défaut pour la connexion particulière. Je comprends le pourquoi des noms entièrement qualifiés, mais en tant que personne honnête, il y a des fois où je veux juste prototyper rapidement quelque chose sans l'overhead supplémentaire des informations du schéma. – Kirk

+0

@Kirk - Il n'y a aucun moyen de définir un schéma par défaut par connexion. Le seul moyen serait d'utiliser l'instruction Alter qui le changerait pour votre utilisateur. Vous pouvez bien sûr simplement mettre une instruction alter en haut et une autre en bas de votre script pour la réinitialiser. – Thomas

Questions connexes