OVH Cloud OVH Cloud

SQL, pb de conversion !

12 réponses
Avatar
Saulot
Bonjour,
j'ai un trigger (sur le delete) qui récupère les champs de ma table pour
construire un chaine de caractères de type INSERT.
En bref, en supprimant, j'insere dans une table un chaine de caractères
representant l'insertion de l'enregistrement. (Un jeu de sauvegarde en qq
sorte)

Dans la table ou je supprime, j'ai une foule de champs de type Varchar(50£)
et un champs de type Int
Dans mon Trigger je fais tout bettement ceci :

Declare @Request Varchar(5000)
Select @Request = 'Insert Into MaTable Values (''' + Champs1 + ''',''' +
........ + ''',' + MonInt

A l'execution il me sort l'erreur suivante :
'Syntaxe incorrecte lors de la conversion de la valeur varchar 'Insert Into
MaTable Values ('Champs1',.......',' vers une colonne de type Int

En fait, il semble s'arreter avant l'entier et tenter une addition !!!

Je ne comprend absolument pas pourquoi !

Si vous pouviez m'aider.
Merci d'avance.

*********************
CREATE TRIGGER TPropositionsDelete ON dbo.TPropositions
FOR Delete
AS

Declare @cProposition Varchar(50)
Declare @cQuestion Varchar(50)
Declare @cSociete Varchar(50)
Declare @cAuteur Varchar(50)
Declare @OrdreProposition Int
Declare @DateCreation datetime
Declare @DateLastModif datetime
Declare @Archiver Bit
Declare @PropositionValide Bit
Declare @NbrPoint Float
Declare @IISACreate Bit
Declare @cPropositionMaitre Varchar(50)
Declare @DateCreate DateTime
Declare @DateEdit DateTime

Declare @Request Varchar(5000)

Select @cProposition = (Select cProposition From deleted)
Select @cQuestion = (Select cQuestion From deleted)
Select @cSociete = (Select cSociete From deleted)
Select @cAuteur = (Select cAuteur From deleted)
Select @OrdreProposition = (Select ISNULL(OrdreProposition,Null) From
deleted)
Select @DateCreation = (Select DateCreation From deleted)
Select @DateLastModif = (Select DateLastModif From deleted)
Select @Archiver = (Select Archiver From deleted)
Select @PropositionValide = (Select PropositionValide From deleted)
Select @NbrPoint = (Select NbrPoint From deleted)
Select @IISACreate = (Select IISACreate From deleted)
Select @cPropositionMaitre = (Select ISNULL(cPropositionMaitre,'Null') From
deleted)
Select @DateCreate = (Select DateCreate From deleted)
Select @DateEdit = (Select DateEdit From deleted)
print 'Insert Into TPropositions VALUES (''' + @cProposition + ''',''' +
@cQuestion + ''',''' + @cSociete + ''',''' + @cAuteur + ''',' +
@OrdreProposition + ',''' + CONVERT(Varchar(20), @DateCreation) + ''',''' +
CONVERT(Varchar(20), @DateLastModif) + ''',' + @Archiver + ',' +
@PropositionValide + ',' + @NbrPoint + ',' + @IISACreate + ',''' +
@cPropositionMaitre + ''',''' + CONVERT(Varchar(20), @DateCreate) + ''','''
+ CONVERT(VarChar(20),@DateEdit) +''')'
Select @Request = 'Insert Into TPropositions VALUES (''' + @cProposition +
''',''' + @cQuestion + ''',''' + @cSociete + ''',''' + @cAuteur + ''',' +
@OrdreProposition + ',''' + CONVERT(Varchar(20), @DateCreation) + ''',''' +
CONVERT(Varchar(20), @DateLastModif) + ''',' + @Archiver + ',' +
@PropositionValide + ',' + @NbrPoint + ',' + @IISACreate + ',''' +
@cPropositionMaitre + ''',''' + CONVERT(Varchar(20), @DateCreate) + ''','''
+ CONVERT(VarChar(20),@DateEdit) +''')'

If exists(SELECT * FROM deleted WHERE cProposition = @cProposition)
Insert Into TSuppressions Values
('TPropositions',@Request,current_timestamp)

2 réponses

1 2
Avatar
Saulot
Ben justement, c'est sur le SQL que je veux corriger les lacunes.
Concretement, en maitrisant VRAIMENT le SQL, peut importe le SGBDR- Il
suffit de s'adapter aux qq nuances par la suite.
Et votre bouquin receuille 77% des votes ^^


"Fred BROUARD" a écrit dans le message de news:
#
Attention, mon bouquin est spécialisé sur SQL, pas sur SQL Server.
Contenu : http://sqlpro.developpez.com/SQLbookFBmini.JPG
Critiques des bouquins SQL :
http://www.developpez.net/forums/viewtopic.php?ti640

Pour SQL Server il n'existe pas d'ouvrage sur le développement pur.
En revanche le livre de Kevin Kline chez O'Reilly est un excellent
ouvrage sur la langage Transact SQL mais hélas en anglais.

Voir :
http://www.developpez.net/forums/viewtopic.php?t–184

Un cours succinct sur SQL Server :
http://sgbd.developpez.com/cours/sqlserver2000/

A +

Saulot a écrit:
> Qd elle est basé sur son travail, OK ! Mais pas qd c celui de mon


superieur
> ^^
> Enfin bref,
> Je vais surement aller acheter ton bouqin à midi (Comme koi chui plein


de
> bonnes résolutions ce matin)
>
> Merci enkore.
>
> "Fred BROUARD" a écrit dans le message de


news:
> #
>
>>Saulot a écrit:
>>
>>>Ola Ola.... Pax romana...
>>>Je n'en ai aucunement rien à foutre que l'on m'aide et que l'on me
>>>conseille.
>>
>>alors il faut accepter la critique !!!
>>
>>;-)
>>
>>A +
>>
>>
>>
>>>En revanche, au risque de t'horrifier un peu plus, je ne suis pas issu
>
> de la
>
>>>bureautique mais bel et bien du developpement.
>>>Mes connaissances du SQL ne sont pas aussi lamentables que tu peux le
>>>croire.
>>>Cependant, n'ayant jamais eu la nécéssité (ou n'y ayant jamais pensé
>
> tout
>
>>>bettement) de travailler avec les triggers, je ne m'y suis jamais
>
> interessé
>
>>>d'ou la teneur du code que tu as pu lire.
>>>
>>>Je ne pratique que l'autoformation et dans les limites de mon temps et
>
> de
>
>>>mes besoins.
>>>Il se trouve que j'ai besoin des triggers en ce moment alors je m'y
>
> plonge,
>
>>>y allant à taton.
>>>
>>>En bref, je ne sais pas trop ou je veux en venir.
>>>Alors je vais conclure par ceci : je ne suis pas un cas desespéré ^^ si
>
> tant
>
>>>est que l'on daigne gentiment aider les pauvres bougres comme moi tout
>
> en
>
>>>leur laissant le temps de se former.
>>>
>>>Voila Voila.
>>>
>>>"Fred BROUARD" a écrit dans le message de
>
> news:
>
>>>
>>>
>>>
>>>>faire de l'auto promo pour un boulot d'aide personnel et gratuit me
>>>>parait être un propos un peu abusif.
>>>>
>>>>Ce n'est pas de ma faute si le code que tu as posté est aussi
>>>>catastrophique...
>>>>
>>>>Cependant je constate de plus en plus la mauvaise formation des
>>>>développeurs. J'ai l'impression que beaucoup de personnes sont venus


de
>>>>la bureautique, s'improvisant développeur et qu'on leur a filé du


boulot
>>>>sur des outils sans pour autant les former correctement.
>>>>
>>>>Cela n'empêche pas d'essayer de faire les choses proprement.
>>>>
>>>>Mais sans formation adéquate, cela me parait difficile !
>>>>
>>>>Pour SQL Server, une formation complète selon MS est un cursus de
>>>>l'ordre de 25 jours.
>>>>
>>>>Pour la partie développement seule, il faut compter un stage de 5


jours.
>>>>
>>>>Combien de jour a tu consacré pour te former, ne serais que tout seul


?
>>>>Combien de page de bouquin spécialisé sur SQL Server as tu lu ?
>>>>Combien de site consacré à SQL Server as tu parcouru ???
>>>>
>>>>Je ne te jette pas l'opprobe. Je fais un constat.
>>>>Je ne suis pas payé non plus par Microsoft, et quand je poste pour


aider
>>>>quelqu'un, ou quand j'écris des articles sur SQL je ne suis pas payé


et
>>>>cela ne me rapporte rien.
>>>>
>>>>Donc pour l'auto promo comme tu dit, si j'ai écrit ces articles c'est
>>>>pour aider des gens comme toi et cela gracieusement afin de m'éviter


de
>>>>reposter toujours la même chose.
>>>>
>>>>Mais tu peut considérer que tu n'en a rien à foutre du temps que je
>>>>prends à te répondre... ça me fait toujours plaisir !
>>>>
>>>>
>>>>A +
>>>>
>>>>
>>>>--
>>>>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
>>>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>>>****************** mailto: ******************
>>>>
>>>>Saulot a écrit:
>>>>
>>>>
>>>>>Bon alors petit 1, Ce code n'est pas de moi. (Mais bon, ca n'excuse
>
> rien
>
>>>et
>>>
>>>
>>>>>c'est facile comme excuse.)
>>>>>Moi on m'en engagé comme debuggeur alors je fais ce que je peux avec


ce
>>>>>qu'on me donne.
>>>>>Ceci dit, je concois bien aisement que ma culture des trigger n'est


pas
>>>>>fameuse, n'en ayant jamais fais.
>>>>>
>>>>>En revanche, Et d'un, le ton de tes remarques est un peu trop
>>>
>>>désagréable à
>>>
>>>
>>>>>mon gout; je suis navré mais je n'ai pas la science infuse en
>>>
>>>programmation.
>>>
>>>
>>>>>Et de deux, faire de l'autopromo, je trouve cela un peu limite.
>>>>>
>>>>>Bref,
>>>>>quoi qu'il en soit, je prend note des remarques et te remercie.
>>>>>Je vais tenter de corriger tout cela en accord avec ce que tu as dis.
>>>>>
>>>>>
>>>>
>>>
>>--
>>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>****************** mailto: ******************
>>
>
>
>

--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************



Avatar
Fred BROUARD
Saulot a écrit:
Ben justement, c'est sur le SQL que je veux corriger les lacunes.
Concretement, en maitrisant VRAIMENT le SQL, peut importe le SGBDR- Il
suffit de s'adapter aux qq nuances par la suite.
Et votre bouquin receuille 77% des votes ^^



C'est l'approche que je me suis fixé.
Le bouquin est un peu dur à trouver car en voie d'épuisement...
Voir Infothéque, librairie Eyrolles ou encore Les mondes en tique

A +



"Fred BROUARD" a écrit dans le message de news:
#

Attention, mon bouquin est spécialisé sur SQL, pas sur SQL Server.
Contenu : http://sqlpro.developpez.com/SQLbookFBmini.JPG
Critiques des bouquins SQL :
http://www.developpez.net/forums/viewtopic.php?ti640

Pour SQL Server il n'existe pas d'ouvrage sur le développement pur.
En revanche le livre de Kevin Kline chez O'Reilly est un excellent
ouvrage sur la langage Transact SQL mais hélas en anglais.

Voir :
http://www.developpez.net/forums/viewtopic.php?t–184

Un cours succinct sur SQL Server :
http://sgbd.developpez.com/cours/sqlserver2000/

A +

Saulot a écrit:

Qd elle est basé sur son travail, OK ! Mais pas qd c celui de mon





superieur

^^
Enfin bref,
Je vais surement aller acheter ton bouqin à midi (Comme koi chui plein





de

bonnes résolutions ce matin)

Merci enkore.

"Fred BROUARD" a écrit dans le message de





news:

#


Saulot a écrit:


Ola Ola.... Pax romana...
Je n'en ai aucunement rien à foutre que l'on m'aide et que l'on me
conseille.



alors il faut accepter la critique !!!

;-)

A +




En revanche, au risque de t'horrifier un peu plus, je ne suis pas issu





de la


bureautique mais bel et bien du developpement.
Mes connaissances du SQL ne sont pas aussi lamentables que tu peux le
croire.
Cependant, n'ayant jamais eu la nécéssité (ou n'y ayant jamais pensé





tout


bettement) de travailler avec les triggers, je ne m'y suis jamais





interessé


d'ou la teneur du code que tu as pu lire.

Je ne pratique que l'autoformation et dans les limites de mon temps et





de


mes besoins.
Il se trouve que j'ai besoin des triggers en ce moment alors je m'y





plonge,


y allant à taton.

En bref, je ne sais pas trop ou je veux en venir.
Alors je vais conclure par ceci : je ne suis pas un cas desespéré ^^ si





tant


est que l'on daigne gentiment aider les pauvres bougres comme moi tout





en


leur laissant le temps de se former.

Voila Voila.

"Fred BROUARD" a écrit dans le message de





news:






faire de l'auto promo pour un boulot d'aide personnel et gratuit me
parait être un propos un peu abusif.

Ce n'est pas de ma faute si le code que tu as posté est aussi
catastrophique...

Cependant je constate de plus en plus la mauvaise formation des
développeurs. J'ai l'impression que beaucoup de personnes sont venus











de

la bureautique, s'improvisant développeur et qu'on leur a filé du











boulot

sur des outils sans pour autant les former correctement.

Cela n'empêche pas d'essayer de faire les choses proprement.

Mais sans formation adéquate, cela me parait difficile !

Pour SQL Server, une formation complète selon MS est un cursus de
l'ordre de 25 jours.

Pour la partie développement seule, il faut compter un stage de 5











jours.

Combien de jour a tu consacré pour te former, ne serais que tout seul











?

Combien de page de bouquin spécialisé sur SQL Server as tu lu ?
Combien de site consacré à SQL Server as tu parcouru ???

Je ne te jette pas l'opprobe. Je fais un constat.
Je ne suis pas payé non plus par Microsoft, et quand je poste pour











aider

quelqu'un, ou quand j'écris des articles sur SQL je ne suis pas payé











et

cela ne me rapporte rien.

Donc pour l'auto promo comme tu dit, si j'ai écrit ces articles c'est
pour aider des gens comme toi et cela gracieusement afin de m'éviter











de

reposter toujours la même chose.

Mais tu peut considérer que tu n'en a rien à foutre du temps que je
prends à te répondre... ça me fait toujours plaisir !


A +


--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************

Saulot a écrit:



Bon alors petit 1, Ce code n'est pas de moi. (Mais bon, ca n'excuse









rien


et



c'est facile comme excuse.)
Moi on m'en engagé comme debuggeur alors je fais ce que je peux avec













ce

qu'on me donne.
Ceci dit, je concois bien aisement que ma culture des trigger n'est













pas

fameuse, n'en ayant jamais fais.

En revanche, Et d'un, le ton de tes remarques est un peu trop





désagréable à



mon gout; je suis navré mais je n'ai pas la science infuse en





programmation.



Et de deux, faire de l'autopromo, je trouve cela un peu limite.

Bref,
quoi qu'il en soit, je prend note des remarques et te remercie.
Je vais tenter de corriger tout cela en accord avec ce que tu as dis.









--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************








--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************









--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
1 2