Comment créer une table SQL sous un schéma différent?

137

Cela vient de SQL Server 2008, ssms

Lorsque je crée une table, elle crée sous dbo.

Je voudrais le créer sous un schéma différent, mais lorsque j'utilise la boîte de dialogue «Nouvelle table», je ne trouve jamais le champ où le spécifier.

Mat
la source

Réponses:

242
  1. Cliquez avec le bouton droit sur le nœud des tables et choisissez New Table...
  2. Avec le concepteur de table ouvert, ouvrez la fenêtre des propriétés (vue -> Fenêtre des propriétés).
  3. Vous pouvez modifier le schéma dans lequel la table sera créée en choisissant un schéma dans la fenêtre des propriétés.
Adrianbanks
la source
Comment feriez-vous cela par programme. ie Créez la table SUSER_SNAME (). [MyTableName] mais cela fonctionne réellement. De plus, est-ce une manière équitable de stocker des variables globales temporaires pour permettre à différentes applications de se parler?
Adamantish le
Ok merci mais je voulais dire avoir le nom du schéma en tant que variable en fonction de l'utilisateur qui l'exécute. Je l'ai fait avec un peu de SQL dynamique, mais j'ai quand même trouvé un meilleur moyen de mettre ces variables dans une table sur la machine de l'utilisateur.
Adamantish le
1
@adrianbanks est très gentil à vous de les orienter dans la bonne direction monsieur!
Shaun F
Merci @adrianbanks. Je n'avais pas fait cela depuis un moment et était sur le point d'écrire un script de création!
Karl Gjertsen
50

Essayez de courir CREATE TABLE [schemaname].[tableName]; GO;

Cela suppose que le nom de schéma existe dans votre base de données. Veuillez l'utiliser CREATE SCHEMA [schemaname]si vous avez également besoin de créer un schéma.

EDIT: mis à jour pour noter SQL Server 11.03 exigeant que ce soit la seule instruction du lot.

Shaun F
la source
1
Ouais, je me rends compte que je pourrais le faire, je me demandais simplement si la version de dialogue avait une option quelque part pour le faire.
Matt
J'ai essayé la même chose, ça ne marche pas, est-ce que je fais quelque chose de mal? OU ça marche juste dans MSSQL 2012?
Pankaj Parkar
7
@PankajParkar: Cela ne fonctionnera pas si le schéma n'existe pas. Créez d'abord le schéma en utilisant create schema [schema_Name]suivi de la requête ci-dessus.
Sangram Nandkhile
14

                           créer un schéma de base de données dans SQL Server 2008
1. Accédez à Sécurité> Schémas
2. Cliquez avec le bouton droit sur Schémas et sélectionnez Nouveau schéma
3. Renseignez les détails dans l'onglet Général du nouveau schéma. Par exemple, le nom du schéma est "MySchema" et le propriétaire du schéma est "Admin".
4. Ajoutez des utilisateurs au schéma selon vos besoins et définissez leurs autorisations:
5. Ajoutez des propriétés étendues (via l'onglet Propriétés étendues)
6. Cliquez sur OK.
                          Ajouter une table au nouveau schéma "MySchema"
1. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur le nom de la table et sélectionnez "Conception":
2. Modification du schéma de base de données d'une table dans SQL Server Management Studio
3. En mode Création, appuyez sur F4 pour afficher la fenêtre Propriétés.
4. Dans la fenêtre Propriétés, remplacez le schéma par le schéma souhaité:
5. Fermez le mode Création en cliquant avec le bouton droit de la souris sur l'onglet et en sélectionnant "Fermer":
6. Fermeture du mode Création
7. Cliquez sur "OK" lorsque vous êtes invité à enregistrer
8. Votre table a maintenant été transféré dans le schéma "MySchema".

Actualiser la vue de l'Explorateur d'objets Pour confirmer les modifications
Terminé

Aftab Uddin
la source
Très utile le précédent processus de création de schéma de base de données. Merci.
mggSoft
12

Appuyez sur F4 et vous obtiendrez ce que vous recherchez.

carte
la source
5

La réponse de Shaun F ne fonctionnera pas si Schema n'existe pas dans la base de données. Si quelqu'un cherche un moyen de créer un schéma, exécutez simplement le script suivant pour créer un schéma.

create schema [schema_name]
CREATE TABLE [schema_name].[table_name](
 ...
) ON [PRIMARY]

Lors de l'ajout d'une nouvelle table, passez en mode de conception de table et appuyez sur F4pour ouvrir la fenêtre de propriété et sélectionnez le schéma dans la liste déroulante. La valeur par défaut est dbo.

Vous pouvez également modifier le schéma de la table actuelle à l'aide de la fenêtre Propriétés.

Référer:

entrez la description de l'image ici

Sangram Nandkhile
la source
Dans SQL Server 11.0.3+, cela générera une erreur, CREATE SCHEMA doit être la seule opération du lot. CREATE SCHEMA setup; GO
hajikelist
3

Lorsque je crée une table à l'aide de SSMS 2008, je vois 3 volets:

  • Le concepteur de colonnes
  • Propriétés de la colonne
  • Les propriétés de la table

Dans le volet des propriétés de la table, il y a un champ: Schemaqui vous permet de sélectionner le schéma.

Brannon
la source