Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 13h28   #1
Membre à l'essai
 
Homme Mathieu
Étudiant
Inscription : mai 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 86
Points : 21
Points : 21
Par défaut [SQL Server Compact Edition V3.5] Aide pour une erreur

Bonjour a tous,

J'ai une petite question concernant une de mes commandes de creation de procedure stockee.
J'ai donc cette commande :

Code :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
CREATE PROCEDURE InsertionVariable 
          @Name NVARCHAR(400), 
          @Description NVARCHAR(400), 
          @Type NVARCHAR(400), 
          @Min NVARCHAR(400), 
          @Max NVARCHAR(400), 
          @Feature NVARCHAR(400), 
          @Storage NVARCHAR(400), 
          @FileName NVARCHAR(400) 
AS 
BEGIN 
SET NOCOUNT 
ON
IF NOT EXISTS (
SELECT * FROM variable 
          WHERE _Name=@Name 
                    AND _FileName=@FileName) 
BEGIN 
INSERT INTO VARIABLES (
          _Name, 
          _Description, 
          _Type, 
          _Min, 
          _Max, 
          _Feature, 
          _Storage,
          _FileName) 
          VALUES (
                    @Name, 
          @Description, 
          @Type, 
          @Min, 
          @Max, 
          @Feature, 
          @Storage, 
          @FileName) 
     END 
END
Et j'ai l'erreur :

Citation:
There was an error parsing the query. [ Token line number = 1,Token line offset = 8,Token in error = PROCEDURE ]
Je ne vois pas du tout ou c'est faux...
Cette requete fonctionne avec SQL Server 2008 Express
Je suis sur Visual C# 2010 Express Edition

Merci de votre aide,

Mathieu
poupou63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 13h35   #2
Membre à l'essai
 
Homme Mathieu
Étudiant
Inscription : mai 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 86
Points : 21
Points : 21
Hum autant pour moi je viens de voir que les PS n'existaient pas avec SQL Server CE ...

Je sais qu'il y a la fonction MERGE qui remplace a peu pres ma PS.
Quelqu'un sait comment trancrire cela ?
poupou63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 13h55   #3
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour

MERGE est utile lorsque vous voulez effectuer des opérations d'insertion et de mise a jour dans une table cible en fonction de données dans une table source, ce qui n'est pas votre cas : vous faites simplement une insertion conditionelle. il vous suffit de mettre votre condition dans la requete :

Code SQL :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
INSERT INTO VARIABLES (
          _Name, 
          _Description, 
          _Type, 
          _Min, 
          _Max, 
          _Feature, 
          _Storage,
          _FileName) 
     VALUES (
          @Name, 
          @Description, 
          @Type, 
          @Min, 
          @Max, 
          @Feature, 
          @Storage, 
          @FileName) 
    WHERE NOT EXISTS (
        SELECT * FROM variable 
        WHERE _Name=@Name 
        AND _FileName=@FileName
)
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 14h01   #4
Membre à l'essai
 
Homme Mathieu
Étudiant
Inscription : mai 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 86
Points : 21
Points : 21
Yep je sais c'est quand j'etais jeune et que je ne comprenais rien au SQL (il y a deux mois )

Mais si tu as la syntaxe pour avoir aussi la MAJ je suis preneur parce que en fait je viens d'essayer de faire l'insertion et la MAJ mais ca ne donne rien de bon ^^

MERGE a-t-elle une syntaxe particuliere avec SQL Serve CE ?

(Je testerais ta requete de simple ajout lundi ... Pour l'heure je suis en week end depuis 2 minutes bon week end les zoulous)
poupou63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 11h01   #5
Membre à l'essai
 
Homme Mathieu
Étudiant
Inscription : mai 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 86
Points : 21
Points : 21
Bonjour a tous, j'espere que vous avez passe un bon week end

J'ai donc essaye t'as commande aieeeuuuuu mais elle n'a pas fonctionnee ... J'ai le meme type d'erreur qu'au-dessus mais cette fois sur le mot INTO ...

La commande MERGE existe-elle vraiment avec SQL Server Compact Edition ?
Si non existe-il une alternative ?

(Je rappelle que par rapport a la premiere commande que j'ai poste, je souhaiterais maintenant pouvoir mettre a jour mes donnees si la cle existe deja dans ma base)

Merci,

Mathieu
poupou63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h02.


 
 
 
 
Partenaires

Hébergement Web