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 :

Fonction qui marchait et qui ne marche plus(?)


Sujet :

MS SQL Server

  1. #1
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut Fonction qui marchait et qui ne marche plus(?)
    Salut à tous,

    Voilà j'ai créé la fonction table suivante :
    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
    CREATE FUNCTION Programmation_Emailing (@DateLow AS DATETIME, @DateHigh AS DATETIME)
    RETURNS @Table_Envoi_Emailing TABLE (EmailProspect VARCHAR(80), FichierHTML VARCHAR(200), DateEnvoi DATETIME)
    AS
     
    BEGIN
    	DECLARE @EmailProspectTemp TABLE (EmailTemp VARCHAR(80), HTMLTemp VARCHAR(200), EnvoiTemp DATETIME)
     
    IF (@DateHigh IS NULL)
    	SET @DateHigh = (@DateLow)
     
    IF (@DateLow IS NULL)
    	SET @DateLow = (@DateHigh)
     
    IF (@DateLow = @DateHigh)
    	SET @DateHigh = (@DateHigh + 1)
     
    INSERT INTO @EmailProspectTemp SELECT EmailProspect, FichierHTML, DateEnvoi
    From Prospects P, Newsletters N, Abonnements A, Souscrire SOU
    WHERE N.CodeAbonnement = A.CodeAbonnement
    AND A.CodeAbonnement = SOU.CodeAbonnement
    AND SOU.NumProspect = P.NumProspect
    AND DateEnvoi > DateInscription
    AND ((DateEnvoi < DateDesinscription) OR (DateDesinscription IS NULL))
    AND DateEnvoi BETWEEN @DateLow AND @DateHigh
     
    INSERT INTO @Table_Envoi_Emailing
    SELECT DISTINCT EmailTemp, HTMLTemp, EnvoiTemp FROM @EmailProspectTemp
    RETURN
    END
    Quand je l'avais créé je l'avais testé, et elle marchait très bien.

    Par contre entretemps j'ai oublié quelle était la requête pour appeller cette fonction. Normalement ça devrait être tout bêtement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [dbo.Programmation_Emailing]('31/12/2007', '15/03/2008')
    Mais ça ne marche pas. Ça me dit "Syntaxe incorrecte vers 31/12/2007."
    [dbo].[Programmation_Emailing] ne marche pas mieux. Il croit alors que dbo est un nom de colonne...

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    et ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM [dbo].[Programmation_Emailing] ('31/12/2007', '15/03/2008')
    ?

  3. #3
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Raaaaah! Merci! J'étais sûr que c'était presque rien.

    Mais c'est bizarre parce que j'ai trouvé plein de ressources (même chez Microsoft) qui indiquaient "SELECT nomdelafonction(paramètres)". Peut-être est-ce parce que ma fonction est une fonction table...

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    C'est exactement pour ça

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

Discussions similaires

  1. Fonction qui marchait sous Excel 2003 et plus sous Windows7
    Par LentilleLocale dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/02/2012, 07h20
  2. Projet qui marchait, DLL qui compile pas
    Par strayyy dans le forum Visual C++
    Réponses: 2
    Dernier message: 04/06/2009, 22h15
  3. Défilement qui marchait et qui ne marche plus
    Par metis15 dans le forum Powerpoint
    Réponses: 6
    Dernier message: 03/03/2009, 16h20
  4. Fonction Length qui ne marche plus
    Par Manic dans le forum Langage
    Réponses: 4
    Dernier message: 03/05/2006, 13h52
  5. Réponses: 7
    Dernier message: 05/11/2005, 15h53

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