IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

SQL Compact et instruction declare.


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut SQL Compact et instruction declare.
    Bonjour,
    j'ai une application qui utiliser SQLexpress, je suis entrain de passer sous sql compact, pour éviter d'avoir besoin d'installer un serveur de donnée sur la machine distante.

    Mais il y a des différences de synthaxes contre lesquelles je lutte:

    Voilà ma requete d'origine:
    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
    CREATE PROCEDURE [dbo].[proc_modifdocument]
    (@id int = 5,
    @titre nvarchar(50),
    @auteur nvarchar (50),
    @genre nvarchar (50),
    @type nvarchar (50))
    AS
    declare @idtype as int 
    declare @idgenre as int
    select @idtype=id from type where type = @type
    select @idgenre=id from genre where genre = @genre
    if (isnull(@idgenre,0)=0)
    begin()
    insert into Genre(Genre) values(@genre)
    select @idgenre=id from genre where genre = @genre
    update document set [titre] = @titre,[auteur] = @auteur,[genre] = @idgenre, [type] = @idtype where id = @id
    End
    else
    update document set [titre] = @titre,[auteur] = @auteur,[genre] = @idgenre, [type] = @idtype where id = @id
    /* SET NOCOUNT ON */ 
    Return
    Je la stocke dans un fichier, je garde donc ce dont j'ai besoin pour sql compact, ce qui donne:
    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
    declare @idtype as int 
    declare @idgenre as int 
    declare @veriftitre as int 
    select @veriftitre=id from document where titre = @titre and auteur = @Auteur 
    if @veriftitre =0 or @veriftitre is null 
    begin() 
    select @idgenre=id from genre where genre = @genre 
    If @idgenre is null or @idgenre = 0 
    begin() 
    insert into genre (genre)values (@genre) 
    select @idgenre=id from genre where genre =@genre 
    End 
    select @idtype=id from type where type = @type 
    insert into document (Titre,auteur,genre,type,disponible) values (@titre,@auteur,@idgenre,@idtype,1) 
    End
    Mais j'obtient une erreur au niveau du premier declare(le premier mot en fait), comment pourrais-je faire pour éviter cette erreur?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    SQL Server CE ne permet pas d'utiliser le SQL procédural... donc pas de batch ni de procédures stockées.
    C'est pourquoi il ne comprend pas la première ligne ! (et pas plus les suivantes).

    En fait l'édition CE est faites pour les mobiles (smartphone, pda...)
    .

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Oui, je sais pour les procédures stockées et pour les mobiles, mais ça fonctionne ausse sur pc, et évite d'installer un serveur de données, on a juste à mettre les dlls du serveur, c'est quand meme moins lourd pour une application 1prog / pc.

    PS: la solution client/serveur n'est pas envidageable

  4. #4
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Il y a trop de différences, j'abandonne mon idée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [sql server 2005] must declare the scalar variable @ ?
    Par sun19 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 30/04/2008, 12h08
  2. VB.net et utilisation de SQL compact
    Par Poulain dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/04/2008, 19h58
  3. [ASE 15.0.2][T-SQL] FETCH INTO ROWTYPE (declare cursor for select *)
    Par msomso dans le forum Adaptive Server Enterprise
    Réponses: 4
    Dernier message: 26/09/2007, 16h05
  4. [SQL SERVER 2000] Comment declarer un champ blob?
    Par Fabrice ROUXEL 1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/04/2007, 09h54
  5. [SQL] Problème dans instruction FROM
    Par Virgile59 dans le forum Access
    Réponses: 7
    Dernier message: 21/08/2006, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo