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

Développement SQL Server Discussion :

UPDATE d'une colonne au format numeric [2012]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 5
    Par défaut UPDATE d'une colonne au format numeric
    Bonjour,

    Suite à une montée de version du logiciel ERP de ma boîte, les colonnes d'une table SQL sont passées au format numeric(19,8).

    Le problème est que je faisais un UPDATE sur ses colonnes pour "fermer" les lignes automatiquement du style suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE PROST.dbo.ETEMPS SET HeureFin='22' WHERE DureeExecution='0'
    Celui marchait parfaitement avant le changement de format. Maintenant, quand je l'exécute sous MS-SQL Server j'obtiens le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Msg*8114, Niveau*16, État*5, Ligne*1
    Erreur de conversion du type de données varchar en numeric.
    Ma question est donc la suivante, savez-vous comment faire un UPDATE sur une colonne au format numeric ?

    Cordialement,
    Raphaelgp27

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 60
    Par défaut
    Bonjour,

    Ce sont des nombres.
    La requete devrait donc ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE PROST.dbo.ETEMPS SET HeureFin=22 WHERE DureeExecution=0
    les apostrophes servent pour les chaines de caracteres.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 5
    Par défaut
    Bonjour,

    Merci pour votre réponse.
    Je viens d'essayer sans les apostrophes mais cela ne fonctionne pas et me renvoie le même message d'erreur.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Donnez-nous le DDL de la table, svp.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 5
    Par défaut
    Les colonnes sur lesquelles doit se faire le UPDATE sont "HeureFinExecuto" et "MinuteFinExecuto" .
    Voici le DLL :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    SET ANSI_NULLS ON
    GO
     
    SET QUOTED_IDENTIFIER ON
    GO
     
    SET ANSI_PADDING ON
    GO
     
    CREATE TABLE [dbo].[ETEMPS](
    	[NoEnregistrement] [numeric](19, 8) NOT NULL,
    	[DateTravail] [datetime] NULL,
    	[TypeLctimprod] [char](1) NULL,
    	[CodeLanctimprod] [varchar](30) NULL,
    	[Phase] [varchar](30) NULL,
    	[CodePoste] [varchar](30) NULL,
    	[CodeOperateur] [varchar](30) NULL,
    	[NumeroAffaire] [varchar](30) NULL,
    	[Section] [varchar](30) NULL,
    	[Remarque1] [varchar](75) NULL,
    	[Remarque2] [varchar](75) NULL,
    	[Remarque3] [varchar](75) NULL,
    	[ExecutTerminee] [char](1) NULL,
    	[ReglageTermine] [char](1) NULL,
    	[CalageTermine] [char](1) NULL,
    	[TypeTravail] [char](1) NULL,
    	[CodeIncident] [varchar](30) NULL,
    	[PhaseIncident] [varchar](30) NULL,
    	[CodePosteIncident] [varchar](30) NULL,
    	[CodePrestation] [varchar](30) NULL,
    	[CodeFournisseur] [varchar](30) NULL,
    	[NumeroAchat] [varchar](30) NULL,
    	[NumeroAr] [varchar](30) NULL,
    	[QtiteFabNonEntSk] [numeric](19, 8) NULL,
    	[QteRebutIncident] [numeric](19, 8) NULL,
    	[CoutStandardPoste] [numeric](19, 8) NULL,
    	[CoutSupplementaire] [numeric](19, 8) NULL,
    	[DateCreationFiche] [datetime] NULL,
    	[DateModifFiche] [datetime] NULL,
    	[DateCreation] [datetime] NULL,
    	[DateModification] [datetime] NULL,
    	[TauxFixe] [numeric](19, 8) NULL,
    	[TauxVariable] [numeric](19, 8) NULL,
    	[PrcentCoutIndirect] [numeric](19, 8) NULL,
    	[NumeroLigne] [numeric](19, 8) NULL,
    	[DureeExecution] [numeric](19, 8) NULL,
    	[DureeReglage] [numeric](19, 8) NULL,
    	[DureeCalage] [numeric](19, 8) NULL,
    	[HeureDebutExecuto] [numeric](19, 8) NULL,
    	[MinuteDebutExecuto] [numeric](19, 8) NULL,
    	[HeureFinExecuto] [numeric](19, 8) NULL,
    	[MinuteFinExecuto] [numeric](19, 8) NULL,
    	[HeureDebutReglage] [numeric](19, 8) NULL,
    	[MinuteDebutReglage] [numeric](19, 8) NULL,
    	[HeureFinReglage] [numeric](19, 8) NULL,
    	[MinuteFinReglage] [numeric](19, 8) NULL,
    	[HeureDebutCalage] [numeric](19, 8) NULL,
    	[MinuteDebutCalage] [numeric](19, 8) NULL,
    	[HeureFinCalage] [numeric](19, 8) NULL,
    	[MinuteFinCalage] [numeric](19, 8) NULL,
    	[HeuresExecuto] [numeric](19, 8) NULL,
    	[MinutesExecuto] [numeric](19, 8) NULL,
    	[HeuresReglage] [numeric](19, 8) NULL,
    	[MinutesReglage] [numeric](19, 8) NULL,
    	[HeuresCalage] [numeric](19, 8) NULL,
    	[MinutesCalage] [numeric](19, 8) NULL,
    	[VarAlphaUtil] [varchar](50) NULL,
    	[VarAlphaUtil2] [varchar](50) NULL,
    	[VarAlphaUtil3] [varchar](50) NULL,
    	[VarAlphaUtil4] [varchar](50) NULL,
    	[VarAlphaUtil5] [varchar](50) NULL,
    	[VarAlphaUtil6] [varchar](50) NULL,
    	[VarAlphaUtil7] [varchar](50) NULL,
    	[VarAlphaUtil8] [varchar](50) NULL,
    	[VarAlphaUtil9] [varchar](50) NULL,
    	[VarAlphaUtil10] [varchar](50) NULL,
    	[VarAlphaUtil11] [varchar](50) NULL,
    	[VarNumUtil] [numeric](19, 8) NULL,
    	[VarNumUtil2] [numeric](19, 8) NULL,
    	[VarNumUtil3] [numeric](19, 8) NULL,
    	[VarNumUtil4] [numeric](19, 8) NULL,
    	[VarNumUtil5] [numeric](19, 8) NULL,
    	[VarNumUtil6] [numeric](19, 8) NULL,
    	[VarNumUtil7] [numeric](19, 8) NULL,
    	[VarNumUtil8] [numeric](19, 8) NULL,
    	[VarNumUtil9] [numeric](19, 8) NULL,
    	[VarNumUtil10] [numeric](19, 8) NULL,
    	[VarNumUtil11] [numeric](19, 8) NULL,
     CONSTRAINT [PK_ETEMPS] PRIMARY KEY CLUSTERED 
    (
    	[NoEnregistrement] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
     
    SET ANSI_PADDING OFF
    GO

  6. #6
    Invité
    Invité(e)
    Par défaut
    Numeric(19,8) pour des durées, des heures et tout ce qui est composé de chiffes, mettons que ce n'est pas vraiment le choix le plus judicieux...

    La requête de sebastien_m est correct pour éviter le transtypage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE PROST.dbo.ETEMPS SET HeureFin=22 WHERE DureeExecution=0
    mais je ne vois pas de colonne HeureFin dans votre table...
    Donnez-nous la requête réelle que vous faites et l'erreur qui va avec sinon on ne pourra pas faire grand chose de plus.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/06/2007, 16h05
  2. vlookup une colonne au format "valueA; valueB; ValueC;"
    Par mythtvtalk.com dans le forum Excel
    Réponses: 5
    Dernier message: 08/06/2007, 14h59
  3. update d'une colonne entière sous bde
    Par gregcat dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/03/2007, 21h46
  4. Réponses: 4
    Dernier message: 31/10/2006, 19h03
  5. update d'une colonne texte
    Par todd dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/10/2003, 13h12

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