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-SERVER 2000] Problème de requête sur une seule ligne


Sujet :

MS SQL Server

  1. #1
    Membre habitué Avatar de Sytchev3
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 433
    Points : 137
    Points
    137
    Par défaut [SQL-SERVER 2000] Problème de requête sur une seule ligne
    Pourquoi si j'execute cette requête sur une seule ligne dans l'analyseur de requête SQL elle plante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Print '**** début création table SQL  TPMAREMB sites clients viewtrans v101 ****'  /*   jeudi 12 janvier 2006 09:27:36   Utilisateur : sa   Serveur : SRVCOMPTA   Base de données : Transport   Application : MS SQLEM - Data Tools*/BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON COMMIT BEGIN TRANSACTION CREATE TABLE dbo.TPMAREMB     (   ACTIVIC char(2) NOT NULL,   MARCHAC char(5) NOT NULL,   ORDRE0N numeric(18, 0) NOT NULL,    EMBALLC char(10) NOT NULL,  DERMAJC char(10) NOT NULL,  DERMAJD datetime NOT NULL,  CREATIC char(10) NOT NULL,  CREATID datetime NOT NULL   )  ON [PRIMARY] GO ALTER TABLE dbo.TPMAREMB ADD CONSTRAINT  PK_TPMAREMB PRIMARY KEY CLUSTERED   (   ACTIVIC,    MARCHAC,    ORDRE0N     ) ON [PRIMARY]  GO COMMIT  Print '**** fin création table SQL  TPMAREMB sites clients viewtrans v101 ****'
    et cela me renvoie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Serveur : Msg 156, Niveau 15, État 1, Ligne 1
    Incorrect syntax near the keyword 'ALTER'.
    Serveur : Msg 170, Niveau 15, État 1, Ligne 1
    Line 1: Incorrect syntax near 'GO'.
    Merci d'avance

  2. #2
    Membre habitué Avatar de Sytchev3
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 433
    Points : 137
    Points
    137
    Par défaut
    Je précise que si j'écris la requête en passant les GO à la lignes du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Print '**** début création table SQL  TPMAREMB sites clients viewtrans v101 ****'  /*   jeudi 12 janvier 2006 09:27:36   Utilisateur : sa   Serveur : SRVCOMPTA   Base de données : Transport   Application : MS SQLEM - Data Tools*/BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON COMMIT BEGIN TRANSACTION CREATE TABLE dbo.TPMAREMB     (   ACTIVIC char(2) NOT NULL,   MARCHAC char(5) NOT NULL,   ORDRE0N numeric(18, 0) NOT NULL,    EMBALLC char(10) NOT NULL,  DERMAJC char(10) NOT NULL,  DERMAJD datetime NOT NULL,  CREATIC char(10) NOT NULL,  CREATID datetime NOT NULL   ) ON [PRIMARY] 
     
    GO
     
    ALTER TABLE dbo.TPMAREMB ADD CONSTRAINT  PK_TPMAREMB PRIMARY KEY CLUSTERED   (   ACTIVIC,    MARCHAC,    ORDRE0N     ) ON [PRIMARY]  
     
    GO 
     
    COMMIT  Print '**** fin création table SQL  TPMAREMB sites clients viewtrans v101 ****'
    il me retourne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    La ou les commandes ont réussi.

  3. #3
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 567
    Points
    19 567
    Billets dans le blog
    25
    Par défaut
    Le GO n'est pas une commande SQL, mais un délimiteur.
    Il doit obligatoirement se situer tout à gauche de la ligne pour être bien interprêté par le parser.

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Crée une procedure stockée sous SQL Serveur et appelle là das ton code client et le problème est résolu.
    En plus de cela , s'ajoute
    1-La lisibilité de ton code
    2-Les avantages liés à l'utilisation d'une procédure stockée.

    Nous espérons avoir résolu ton problème.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/01/2009, 09h55
  2. Résultats d'une requête sur une seule ligne
    Par bobic dans le forum Langage SQL
    Réponses: 9
    Dernier message: 20/08/2008, 16h53
  3. [MS SQL Server 2000] problèmes sur serveurs liés
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/05/2008, 19h15
  4. Réponses: 1
    Dernier message: 06/08/2007, 11h02
  5. [SQL-SERVER 2000] Problème de backup et de restore d'une BD
    Par Sytchev3 dans le forum Administration
    Réponses: 2
    Dernier message: 10/04/2006, 19h22

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