Je veux changer le nom de schéma de la table Employees
dans la base de données. Dans le Employees
nom du schéma de base de données de table actuel, dbo
je veux le changer exe
. Comment puis-je le faire ?
Exemple:
DE
dbo.Employees
À
exe.Employees
J'ai essayé avec cette requête:
ALTER SCHEMA exe TRANSFER dbo.Employees
Mais cela me donne une erreur:
Impossible de modifier le schéma «exe», car il n'existe pas ou vous n'avez pas l'autorisation.
Qu'est-ce que j'ai raté?
sql
sql-server
tsql
schema
le champion
la source
la source
create schema
: msdn.microsoft.com/en-US/library/ms189462%28v=sql.90%29.aspxRéponses:
Créer un schéma:
Schéma ALTER:
la source
sys.schemas
est une table qui contient tous les schémas de la base de données. L'exécutable ('...') exécute simplement un appel SQL dynamique, dans ce cas, il est nécessaire car une commande CREATE SCHEMA doit être la première instruction d'un lot de requêtes et s'exécuter en tant que SQL dynamique vous permet d'obtenir cela.Essayez ci-dessous
la source
set @sql = 'alter schema [' + @newschema + '] transfer [' + @oldschema + '].' + @table
pour m'assurer que certains mots / caractères spéciaux ne provoquent pas d'erreur.Je dois toujours utiliser les crochets lorsque j'utilise la
ALTER SCHEMA
requête en SQL ou que j'obtiens un message d'erreur.la source
Grâce à SSMS, j'ai créé un nouveau schéma en:
J'ai trouvé ce post pour changer le schéma, mais j'obtenais également la même erreur d'autorisations en essayant de passer au nouveau schéma. J'ai plusieurs bases de données répertoriées dans mon SSMS, alors j'ai juste essayé de spécifier la base de données et cela a fonctionné:
la source
Votre code est:
J'ai essayé avec cette requête.
Il suffit de l'écrire
create schema exe
et de l'exécuterla source
la source
Découvrez MSDN ...
CREATE SCHEMA
: http://msdn.microsoft.com/en-us/library/ms189462.aspxensuite
ALTER SCHEMA
: http://msdn.microsoft.com/en-us/library/ms173423.aspxOu vous pouvez le vérifier sur SO ...
Comment déplacer une table dans un schéma dans T-SQL
la source
Soyez très très prudent en renommant les objets dans SQL. Vous pouvez provoquer l'échec des dépendances si vous n'êtes pas complètement loin de ce que vous faites. Cela dit, cela fonctionne facilement (trop) pour renommer des choses à condition que vous ayez un accès approprié à l'environnement:
la source
exec sp_rename 'dbo.Employees', 'exe.Employees'
vous obtiendrez le nom [dbo]. [Exe.Employees]Assurez-vous que vous êtes dans le bon contexte de base de données dans SSMS. J'ai eu la même erreur que vous, mais je savais que le schéma existait déjà. Je n'avais pas réalisé que j'étais dans le contexte «MASTER». ALTER a fonctionné après avoir changé le contexte de ma base de données.
la source
Au cas où quelqu'un chercherait une version inférieure -
Pour SQL Server 2000:
sp_changeobjectowner @objname = 'dbo.Employess', @newowner = 'exe'
la source