Bonjour,
Je viens à vous car j'aimerais savoir s'il est possible de faire un "create" avec une variable?
Je m'explique...
Je dispose d'une base de données que je dois historiser annuellement dans des schémas distinct correspondant aux années. j'ai donc deux bases de données: une courante et une autre annuelle qui varie tous les ans.
Tous les ans je dois créer un nouveau schéma pour les nouvelles données. Cela doit se faire automatiquement à partir d'une procédure stockée. Donc pour cela, je dois faire un CREATE SCHEMA @annee, @annee évoluant avec le temps.
Mon problème est que lorque je parse ma PS il me renvoie l'erreur suivante:
et voici le debut de ma procédure:Procedure newDatabase, Line 18 Incorrect syntax near the keyword 'SCHEMA'.
Pour info, j'appelle ma PS à partir de ma Procédure stockée C#; ma variable est initialisée la dedans aussi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE PROCEDURE newDatabase(@annee datatype OUTPUT) AS BEGIN -- création des schéma de bdd CREATE SCHEMA [@annee]
Est ce que vous auriez une réponse à mon problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 DateTime date = DateTime.Today; int annee = date.Year; annee = annee+1; // INSTANCIATION DE CONNEXION string stringConnexion = "string de ma connexion"; try { SqlConnection con = new SqlConnection(); con.ConnectionString = stringConnexion; // INSTANCIATION DE LA COMMANDE SqlCommand storedProcedure = new SqlCommand(); //LIAISON DE LA COMMANDE A LA CONNEXION storedProcedure.Connection = con; // PROPRIETES DE LA COMMANDE storedProcedure.CommandType = CommandType.StoredProcedure; storedProcedure.CommandText = "newDatabase"; storedProcedure.Parameters.AddWithValue("@anneeSchema", annee);
Merci d'avance
Partager