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 :

Réupérer la date d'une exécution


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut Réupérer la date d'une exécution
    Bonjour

    On a une procédure stockée qui roule à tous les soirs.

    Dès fois, pour une raison ou une autre, l'exécution de cette procédure échoue.

    J'aimerai rajouter une condition au code de cette procédure stockée pour qu'elle tourne en prenant compte de la date de la dernière bonne exécution + 1 jour.

    Est-ce qu'il y a moyen d'extraire cette date du serveur et de l'implanter dans le corps de la procédure.

    Merci.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Ce genre de truc dépend probablement du SGBD. Comme celui-ci n'est pas précisé, contrairement aux règles du forum, il y a peu de chances que vous obteniez une réponse.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Ce genre de truc dépend probablement du SGBD. Comme celui-ci n'est pas précisé, contrairement aux règles du forum, il y a peu de chances que vous obteniez une réponse.
    C'est parce que je veux que a soit fait par des requêtes SQL dans le language SQL

    Mon SGBD est SQL SERVER 2000.

    Merci.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Si vous exécutez toutes les nuits une procédure stockée, je suppose que vous commandez cette exécution par un job avec l'Agent SQL Server.
    Dans ce cas, l'historique des exécutions de tous les jobs est requêtable dans la table système msdb.dbo.sysjobhistory.
    La colonne run_status de cette table vous renseigne sur l'état d'exécution du travail :

    - 0 = échec
    - 1 = succès
    - 2 = nouvelle tentative
    - 3 = annulation
    - 4 = en cours

    Les colonnes run_date et run_time vous renseignent sur la date d'exécution du job. Comme ce sont des entiers, vous devez torturer un peu les valeurs pour en obtenir une date.

    Cela ressemble donc à :

    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
    DECLARE @NouvelleDateExec DATETIME
     
    SELECT @NouvelleDateExec = DateTimeExec + 1
    FROM
    (
    	SELECT MAX(CAST(STUFF(STUFF(DateExec, 12, 0, ':'), 15, 0, ':') AS DATETIME)) AS DateTimeExec
    	FROM
    	(
    		SELECT CAST(H.run_date AS CHAR(8)) + ' ' +
    				CASE LEN(CAST(H.run_time AS VARCHAR(6)))
    					WHEN 5 THEN '0' + CAST(H.run_time AS CHAR(5))
    					ELSE CAST(H.run_time AS CHAR(6))
    				END AS DateExec
    		FROM msdb.dbo.sysjobs AS J
    		JOIN msdb.dbo.sysjobhistory AS H
    			ON J.job_id = H.job_id
    		WHERE J.name = 'TEST'
    		AND H.run_status = 1
    		AND H.step_id = 1
    	) AS EXEC_JOB_TEST
    ) AS DER_EXEC_JOB_TEST_OK
     
    SELECT @NouvelleDateExec
    @++

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Si vous exécutez toutes les nuits une procédure stockée, je suppose que vous commandez cette exécution par un job avec l'Agent SQL Server.
    Dans ce cas, l'historique des exécutions de tous les jobs est requêtable dans la table système msdb.dbo.sysjobhistory.
    La colonne run_status de cette table vous renseigne sur l'état d'exécution du travail :

    - 0 = échec
    - 1 = succès
    - 2 = nouvelle tentative
    - 3 = annulation
    - 4 = en cours

    Les colonnes run_date et run_time vous renseignent sur la date d'exécution du job. Comme ce sont des entiers, vous devez torturer un peu les valeurs pour en obtenir une date.

    Cela ressemble donc à :

    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
    DECLARE @NouvelleDateExec DATETIME
     
    SELECT @NouvelleDateExec = DateTimeExec + 1
    FROM
    (
        SELECT MAX(CAST(STUFF(STUFF(DateExec, 12, 0, ':'), 15, 0, ':') AS DATETIME)) AS DateTimeExec
        FROM
        (
            SELECT CAST(H.run_date AS CHAR(8)) + ' ' +
                    CASE LEN(CAST(H.run_time AS VARCHAR(6)))
                        WHEN 5 THEN '0' + CAST(H.run_time AS CHAR(5))
                        ELSE CAST(H.run_time AS CHAR(6))
                    END AS DateExec
            FROM msdb.dbo.sysjobs AS J
            JOIN msdb.dbo.sysjobhistory AS H
                ON J.job_id = H.job_id
            WHERE J.name = 'TEST'
            AND H.run_status = 1
            AND H.step_id = 1
        ) AS EXEC_JOB_TEST
    ) AS DER_EXEC_JOB_TEST_OK
     
    SELECT @NouvelleDateExec
    @++
    Merci pour ces explications.

    Lorsque j'exécute ce code tel quel ca me donne "Null"

    Est-ce que 'TEST' reprèsente le nom de ma job ?

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Est-ce que 'TEST' reprèsente le nom de ma job ?
    Exact, désolé de ne pas te l'avoir précisé

    @++

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Exact, désolé de ne pas te l'avoir précisé

    @++
    Elsuket

    Y a t-il une autre façon plus simple d'avoir ce que je veux.

    Un genre de select qui va aller lire la date de la dernière bonne exécution d'une night job qui s'appelle TOTO ?

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Oui, vous pouvez écrire une fonction pour cela :

    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
    CREATE FUNCTION FnGetLastSuccessfulJobExecution
    	(@nomJob SYSNAME)
    	RETURNS DATETIME
    AS
    BEGIN
    	RETURN
    	(
    		SELECT DateTimeExec + 1
    		FROM
    		(
    			SELECT MAX(CAST(STUFF(STUFF(DateExec, 12, 0, ':'), 15, 0, ':') AS DATETIME)) AS DateTimeExec
    			FROM
    			(
    				SELECT CAST(H.run_date AS CHAR(8)) + ' ' +
    						CASE LEN(CAST(H.run_time AS VARCHAR(6)))
    							WHEN 5 THEN '0' + CAST(H.run_time AS CHAR(5))
    							ELSE CAST(H.run_time AS CHAR(6))
    						END AS DateExec
    				FROM msdb.dbo.sysjobs AS J
    				JOIN msdb.dbo.sysjobhistory AS H
    					ON J.job_id = H.job_id
    				WHERE J.name = @nomJob
    				AND H.run_status = 1
    				AND H.step_id = 1
    			) AS EXEC_JOB_TEST
    		) AS DER_EXEC_JOB_TEST_OK
    	)
    END
    Un exemple d'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT dbo.FnGetLastSuccessfulJobExecution('TOTO')
    @++

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Oui, vous pouvez écrire une fonction pour cela :

    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
    CREATE FUNCTION FnGetLastSuccessfulJobExecution
        (@nomJob SYSNAME)
        RETURNS DATETIME
    AS
    BEGIN
        RETURN
        (
            SELECT DateTimeExec + 1
            FROM
            (
                SELECT MAX(CAST(STUFF(STUFF(DateExec, 12, 0, ':'), 15, 0, ':') AS DATETIME)) AS DateTimeExec
                FROM
                (
                    SELECT CAST(H.run_date AS CHAR(8)) + ' ' +
                            CASE LEN(CAST(H.run_time AS VARCHAR(6)))
                                WHEN 5 THEN '0' + CAST(H.run_time AS CHAR(5))
                                ELSE CAST(H.run_time AS CHAR(6))
                            END AS DateExec
                    FROM msdb.dbo.sysjobs AS J
                    JOIN msdb.dbo.sysjobhistory AS H
                        ON J.job_id = H.job_id
                    WHERE J.name = @nomJob
                    AND H.run_status = 1
                    AND H.step_id = 1
                ) AS EXEC_JOB_TEST
            ) AS DER_EXEC_JOB_TEST_OK
        )
    END
    Un exemple d'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT dbo.FnGetLastSuccessfulJobExecution('TOTO')
    @++
    Merci beaucoup !!

    Est-ce que je dois faire des changements selon si je suis dans SQL Server 2000 ou SQL Server 2005 ?

  10. #10
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Non, car ces tables existent aussi bien sous SQL Server 2000 que sous les versions ultérieures de SQL Server

    @++

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2003
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    Bonjour,
    Je trouve ce code intéressant pour les "jobs", mais est-il envisageable de l'adapter aux procédures stockées ?
    Je m'explique : j'aimerais pouvoir connaître la dernière date d'exécution d'une procédure stockée (nous en avons des dizaines et des dizaines qui s'accumulent depuis des années - je viens d'arriver dans la boite - et j'aimerais retrouver l'historique de chacune ).

    En remplaçant les mots clefs de la fonction msdb.dbo.sysjobs & msdb.dbo.sysjobhistory par leurs équivalents pour les procédures stockées ? Lesquels sont-ils ? je ne sais pas...

    Sous SQL Server 2005

    Merci par avance de votre contribution...

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 760
    Points : 52 543
    Points
    52 543
    Billets dans le blog
    5
    Par défaut
    j'aimerais pouvoir connaître la dernière date d'exécution d'une procédure stockée
    Impossible et innevisageable. imaginez le poids d'une telle scrutation sur un serveur fortement sollicité !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2003
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    Merci de la réponse.
    Peut-on envisager une autre solution ? Mon but étant d'isoler les procédures stockées utilisées de celles qui ne le sont plus.

  14. #14
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vous trouverez les procédures stockées les fréquemment utilisées (et seulement celles-ci) référencées dans le cache de procédures.
    Pour cela vous devez utiliser la vue de gestion dynamique sys.dm_exec_cached_plans et la fonction de gestion dynamique sys.dm_exec_sql_text

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CP.desColonnes,
    		SQL.mesColonnes
    FROM sys.dm_exec_cached_plans AS CP
    CROSS APPLY sys.dm_exec_sql_text(CP.sql_handle)AS SQL
    Vous pouvez aussi créer une trace à l'aide de l'outil SQL Server Profiler accessible par le menu outils de SQL Server Management Studio, en filtrant sur les événements "RPC:Starting" et "SP:Starting".

    @++

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2003
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    Bonjour,
    Merci de votre réponse.

    J'obtiens un message d'erreur à l'exécution du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg 102, Level 15, State 1, Line 4
    Syntaxe incorrecte vers '.'.
    Faut-il installer une quelconque fonction supplémentaire ?

    Par avance, merci de votre réponse.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par DEV-10 Voir le message
    Merci beaucoup !!

    Est-ce que je dois faire des changements selon si je suis dans SQL Server 2000 ou SQL Server 2005 ?

    Bonjour Elsuket

    Faut-il mettre cette fonction avec la section "Stored Procedures" ?

    J'ai crée ma job sur SQL SERVER 2000 et dans l'onglet Step j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec 'ma_procedure_stockee'
    dans le textbox Command mais il ne veut pas exécuter cette précédure stockée. manque t-il quelque chose entre exec et 'ma_procedure_stockee' ?

    Merci.

  17. #17
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Réponse à MatthieuQ

    Il y a effectivement une erreur dans la requête que je vous ai proposé :
    c'est plan_handle et non pas sql_handle que nous devons utiliser (la colonne sql_handle n'existe pas dans la vue sys.dm_exec_cached_plans)

    En revanche je viens d'exécuter la requête suivante sous SQL Server 2005

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CP.*,
    		SQL.*
    FROM sys.dm_exec_cached_plans AS CP
    CROSS APPLY sys.dm_exec_sql_text(CP.plan_handle)AS SQL
    Et je n'ai pas obtenu l'erreur que vous avez.
    Vous avez probablement oublié une virgule entre deux spécifications de colonnes dans la requête lorsque vous avez remplacé "desColonnes" et "mesColonnes" dans la première requête que je vous ai proposé

    Réponse à DEV-10

    Faut-il mettre cette fonction avec la section "Stored Procedures" ?
    Attention, une fonction n'est pas une procédure stockée.

    Lorsque vous exécutez le lot CREATE FUNCTION, le module SQL est compilé comme une fonction, et vous n'avez pas le choix de la "placer" dans une catégorie
    Vous pouvez vous inspirer du code de la fonction pour écrire une procédure stockée qui stockerait dans une table, par exemple, tous les matins, la dernière bonne exécution d'un job (c'est un exemple, cela n'a aucun intérêt puisqu'on peut facilement le retrouver dans les tables de MSDB )

    dans le textbox Command mais il ne veut pas exécuter cette précédure stockée. manque t-il quelque chose entre exec et 'ma_procedure_stockee' ?
    Vous ne pouvez en effet pas appeler une procédure stockée de cette façon : vous devez écrire directement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC dbo.ma_procedure_stockee
    N'oubliez pas de préciser la base de données, ou écrivez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC maBD.dbo.ma_procedure_stockée
    En apparté, notez que vous pouvez construire votre requête en la stockant dans une variable de type VARCHAR, et exécuter celle-ci en écrivant :

    Vous remarquerez la présence des parenthèses

    @++

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 103
    Points
    103
    Par défaut
    [quote=elsuket;4541098]Réponse à MatthieuQ



    Réponse à DEV-10


    Attention, une fonction n'est pas une procédure stockée.

    Lorsque vous exécutez le lot CREATE FUNCTION, le module SQL est compilé comme une fonction, et vous n'avez pas le choix de la "placer" dans une catégorie
    Vous pouvez vous inspirer du code de la fonction pour écrire une procédure stockée qui stockerait dans une table, par exemple, tous les matins, la dernière bonne exécution d'un job (c'est un exemple, cela n'a aucun intérêt puisqu'on peut facilement le retrouver dans les tables de MSDB )
    Qu'est ce que tu veux dire par "une catégorie" ?

    Est-ce que je peux inclure cette fonction directement au début de ma procédure stockée et je l'appelle dans la procédure stockée elle même ?


    Merci.

  19. #19
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Par catégorie j'entendais "Procédures stockées", "Fonctions", ... comme le présente SQL Server Management Studio.

    Est-ce que je peux inclure cette fonction directement au début de ma procédure stockée et je l'appelle dans la procédure stockée elle même ?
    Vous pouvez effectivement appeler une fonction dans une procédure stockée (mais l'inverse est faux et c'est normal )

    @++

  20. #20
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2003
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    réponse à elsuket

    Merci, ça fonctionne. Et effectivement, une trace n'est pas malvenue.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. date d'une requete sql
    Par innosang dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/04/2004, 09h27
  2. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25
  3. insérer une date dans une table mssql
    Par ericmart dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/01/2004, 10h37
  4. test la valeur d'une date dans une requete
    Par TuxP dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 14h53
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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