Bonjour,
j'aimerais avoir vos conseils pour palier au probleme suivant :
Dans un trigger sur le delete, je genere un string sql correspondant à
l'insert du record supprimé (pour un rollback)
Mon prbleme se produit lorsque je tente de convertir en varchar une colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge)
Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la
valeur Null par ''.
Mais cette methode me pose probleme dans l'application en relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Nicolas BERGER
As-tu essayé de voir si un TRIGGER INSTEAD OF DELETE pouvait t'apporter qq chose? (à partir de SQL2000) JN.
"Saulot" a écrit dans le message de news:40ee42b7$0$26343$
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
As-tu essayé de voir si un TRIGGER INSTEAD OF DELETE pouvait t'apporter qq
chose? (à partir de SQL2000)
JN.
"Saulot" <saulot@liberty.surf.fr> a écrit dans le message de
news:40ee42b7$0$26343$626a14ce@news.free.fr...
Bonjour,
j'aimerais avoir vos conseils pour palier au probleme suivant :
Dans un trigger sur le delete, je genere un string sql correspondant à
l'insert du record supprimé (pour un rollback)
Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge)
Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la
valeur Null par ''.
Mais cette methode me pose probleme dans l'application en relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
As-tu essayé de voir si un TRIGGER INSTEAD OF DELETE pouvait t'apporter qq chose? (à partir de SQL2000) JN.
"Saulot" a écrit dans le message de news:40ee42b7$0$26343$
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
Saulot
Bonjour, vous pouvez m'expliquer en quoi cela consiste ?
"Jean-Nicolas BERGER" a écrit dans le message de news:cclima$ch3$
As-tu essayé de voir si un TRIGGER INSTEAD OF DELETE pouvait t'apporter qq chose? (à partir de SQL2000) JN.
"Saulot" a écrit dans le message de news:40ee42b7$0$26343$ > Bonjour, > j'aimerais avoir vos conseils pour palier au probleme suivant : > Dans un trigger sur le delete, je genere un string sql correspondant à > l'insert du record supprimé (pour un rollback) > Mon prbleme se produit lorsque je tente de convertir en varchar une colonne > de la table pour laquelle la valeur du record est Null > > ex : CONVERT(Varchar(20),@DelaisPurge) > Si @DelaisPurge = Null.... il me plante à la conversion. > > Comment puis-je palier au problème ? > > Pour l'instant, je me contente de faire un test IF afin de remplacer la > valeur Null par ''. > Mais cette methode me pose probleme dans l'application en relation avec
la
> base. > > Je me demandais juste s'il existait une autre alternative. > > Merci de vos conseils. > >
Bonjour,
vous pouvez m'expliquer en quoi cela consiste ?
"Jean-Nicolas BERGER" <jnbergerENLEVEZMOI@wanadoo.fr> a écrit dans le
message de news:cclima$ch3$1@news-reader4.wanadoo.fr...
As-tu essayé de voir si un TRIGGER INSTEAD OF DELETE pouvait t'apporter qq
chose? (à partir de SQL2000)
JN.
"Saulot" <saulot@liberty.surf.fr> a écrit dans le message de
news:40ee42b7$0$26343$626a14ce@news.free.fr...
> Bonjour,
> j'aimerais avoir vos conseils pour palier au probleme suivant :
> Dans un trigger sur le delete, je genere un string sql correspondant à
> l'insert du record supprimé (pour un rollback)
> Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
> de la table pour laquelle la valeur du record est Null
>
> ex : CONVERT(Varchar(20),@DelaisPurge)
> Si @DelaisPurge = Null.... il me plante à la conversion.
>
> Comment puis-je palier au problème ?
>
> Pour l'instant, je me contente de faire un test IF afin de remplacer la
> valeur Null par ''.
> Mais cette methode me pose probleme dans l'application en relation avec
la
> base.
>
> Je me demandais juste s'il existait une autre alternative.
>
> Merci de vos conseils.
>
>
Bonjour, vous pouvez m'expliquer en quoi cela consiste ?
"Jean-Nicolas BERGER" a écrit dans le message de news:cclima$ch3$
As-tu essayé de voir si un TRIGGER INSTEAD OF DELETE pouvait t'apporter qq chose? (à partir de SQL2000) JN.
"Saulot" a écrit dans le message de news:40ee42b7$0$26343$ > Bonjour, > j'aimerais avoir vos conseils pour palier au probleme suivant : > Dans un trigger sur le delete, je genere un string sql correspondant à > l'insert du record supprimé (pour un rollback) > Mon prbleme se produit lorsque je tente de convertir en varchar une colonne > de la table pour laquelle la valeur du record est Null > > ex : CONVERT(Varchar(20),@DelaisPurge) > Si @DelaisPurge = Null.... il me plante à la conversion. > > Comment puis-je palier au problème ? > > Pour l'instant, je me contente de faire un test IF afin de remplacer la > valeur Null par ''. > Mais cette methode me pose probleme dans l'application en relation avec
la
> base. > > Je me demandais juste s'il existait une autre alternative. > > Merci de vos conseils. > >
Patrice
Cela ne devrait pas poser problème :
SELECT CONVERT(VARCHAR(20),NULL) me donne bien NULL
(attention @DelaisPurge est une variable pas une colonne)
Le problème pourrait être lié à la façon dont est utilisé le résultat du CONVERT (notamment il faut utiliser IS NULL et non pas =NULL) ???
Patrice
--
"Saulot" a écrit dans le message de news:40ee42b7$0$26343$
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
Cela ne devrait pas poser problème :
SELECT CONVERT(VARCHAR(20),NULL) me donne bien NULL
(attention @DelaisPurge est une variable pas une colonne)
Le problème pourrait être lié à la façon dont est utilisé le résultat du
CONVERT (notamment il faut utiliser IS NULL et non pas =NULL) ???
Patrice
--
"Saulot" <saulot@liberty.surf.fr> a écrit dans le message de
news:40ee42b7$0$26343$626a14ce@news.free.fr...
Bonjour,
j'aimerais avoir vos conseils pour palier au probleme suivant :
Dans un trigger sur le delete, je genere un string sql correspondant à
l'insert du record supprimé (pour un rollback)
Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge)
Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la
valeur Null par ''.
Mais cette methode me pose probleme dans l'application en relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
SELECT CONVERT(VARCHAR(20),NULL) me donne bien NULL
(attention @DelaisPurge est une variable pas une colonne)
Le problème pourrait être lié à la façon dont est utilisé le résultat du CONVERT (notamment il faut utiliser IS NULL et non pas =NULL) ???
Patrice
--
"Saulot" a écrit dans le message de news:40ee42b7$0$26343$
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une
colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
Bonjour,
L'option ANSI_NULLS doit être activée, dans ce cas il faut comparer comme suit: if @DelaisPurge is Null
Pour conserver l'ancienne syntaxe if @DelaisPurge = Null il faut alors désactiver l'option ANSI_NULLS.
Cordialement, LionelP
-----Message d'origine----- Bonjour, j'aimerais avoir vos conseils pour palier au probleme
suivant :
Dans un trigger sur le delete, je genere un string sql
correspondant à
l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en
varchar une colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin
de remplacer la
valeur Null par ''. Mais cette methode me pose probleme dans l'application en
relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
.
Bonjour,
L'option ANSI_NULLS doit être activée, dans ce cas il faut
comparer comme suit:
if @DelaisPurge is Null
Pour conserver l'ancienne syntaxe if @DelaisPurge = Null
il faut alors désactiver l'option ANSI_NULLS.
Cordialement,
LionelP
-----Message d'origine-----
Bonjour,
j'aimerais avoir vos conseils pour palier au probleme
suivant :
Dans un trigger sur le delete, je genere un string sql
correspondant à
l'insert du record supprimé (pour un rollback)
Mon prbleme se produit lorsque je tente de convertir en
varchar une colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge)
Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin
de remplacer la
valeur Null par ''.
Mais cette methode me pose probleme dans l'application en
relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
L'option ANSI_NULLS doit être activée, dans ce cas il faut comparer comme suit: if @DelaisPurge is Null
Pour conserver l'ancienne syntaxe if @DelaisPurge = Null il faut alors désactiver l'option ANSI_NULLS.
Cordialement, LionelP
-----Message d'origine----- Bonjour, j'aimerais avoir vos conseils pour palier au probleme
suivant :
Dans un trigger sur le delete, je genere un string sql
correspondant à
l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en
varchar une colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin
de remplacer la
valeur Null par ''. Mais cette methode me pose probleme dans l'application en
relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
.
Fred BROUARD
il suffit d'utiliser la fonction normative COALESCE comme suit :
CAST(COALESCE(@DelaisPurge, 0) AS VARCHAR(20))
de même éviter le Convert, préférez le CAST normatif
A +
Saulot a écrit:
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une colonne de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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 ************************ www.datasapiens.com *************************
il suffit d'utiliser la fonction normative COALESCE comme suit :
CAST(COALESCE(@DelaisPurge, 0) AS VARCHAR(20))
de même éviter le Convert, préférez le CAST normatif
A +
Saulot a écrit:
Bonjour,
j'aimerais avoir vos conseils pour palier au probleme suivant :
Dans un trigger sur le delete, je genere un string sql correspondant à
l'insert du record supprimé (pour un rollback)
Mon prbleme se produit lorsque je tente de convertir en varchar une colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge)
Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la
valeur Null par ''.
Mais cette methode me pose probleme dans l'application en relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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
************************ www.datasapiens.com *************************
il suffit d'utiliser la fonction normative COALESCE comme suit :
CAST(COALESCE(@DelaisPurge, 0) AS VARCHAR(20))
de même éviter le Convert, préférez le CAST normatif
A +
Saulot a écrit:
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une colonne de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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 ************************ www.datasapiens.com *************************
Fred BROUARD
il suffit d'utiliser la fonction normative COALESCE comme suit :
CAST(COALESCE(@DelaisPurge, 0) AS VARCHAR(20))
de même éviter le Convert, préférez le CAST normatif
A +
Saulot a écrit:
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une colonne de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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 ************************ www.datasapiens.com *************************
il suffit d'utiliser la fonction normative COALESCE comme suit :
CAST(COALESCE(@DelaisPurge, 0) AS VARCHAR(20))
de même éviter le Convert, préférez le CAST normatif
A +
Saulot a écrit:
Bonjour,
j'aimerais avoir vos conseils pour palier au probleme suivant :
Dans un trigger sur le delete, je genere un string sql correspondant à
l'insert du record supprimé (pour un rollback)
Mon prbleme se produit lorsque je tente de convertir en varchar une colonne
de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge)
Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la
valeur Null par ''.
Mais cette methode me pose probleme dans l'application en relation avec la
base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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
************************ www.datasapiens.com *************************
il suffit d'utiliser la fonction normative COALESCE comme suit :
CAST(COALESCE(@DelaisPurge, 0) AS VARCHAR(20))
de même éviter le Convert, préférez le CAST normatif
A +
Saulot a écrit:
Bonjour, j'aimerais avoir vos conseils pour palier au probleme suivant : Dans un trigger sur le delete, je genere un string sql correspondant à l'insert du record supprimé (pour un rollback) Mon prbleme se produit lorsque je tente de convertir en varchar une colonne de la table pour laquelle la valeur du record est Null
ex : CONVERT(Varchar(20),@DelaisPurge) Si @DelaisPurge = Null.... il me plante à la conversion.
Comment puis-je palier au problème ?
Pour l'instant, je me contente de faire un test IF afin de remplacer la valeur Null par ''. Mais cette methode me pose probleme dans l'application en relation avec la base.
Je me demandais juste s'il existait une autre alternative.
Merci de vos conseils.
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste 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 ************************ www.datasapiens.com *************************