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 :

[SQL Server 2k]Comment tester une procédure sous Sql server - beginner


Sujet :

MS SQL Server

  1. #1
    bruce-willis
    Invité(e)
    Par défaut [SQL Server 2k]Comment tester une procédure sous Sql server - beginner
    Bonjour,

    Je débute depuis quelques temps avec SQL Server 2000. Je viens de faire alors la connaissance de QUERY ANALYZER pour exécuter des scripts.
    Comment faire alors pour tester une procédure et une fonction : la commande EXECUTE ? Et comment faire pour les valeurs de retour ?
    Dans le cadre du débogage d'une procédure, quel est l'équivalent de dbms_output.put_line() de Oracle pour SQL Server ?
    En fait, un "SELECT field = variable" sans aucune donnée trouvée retourne un variable = NULL ou autres ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    donnes nous plus d'infos,
    par exemple donnes le script d'une de tes fonctions ou procs a tester

    Dans le cadre du débogage d'une procédure, quel est l'équivalent de dbms_output.put_line() de Oracle pour SQL Server ?
    pour SQL serveur c'est tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PRINT 'mon résultat est ' + cast(1 as varchar)

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut Execution manager studio.
    voila, ce que j'obtiens en executant une procedure avec le manager.
    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
    USE [TORAH_TV]
    GO
    DECLARE @return_value int
    EXEC @return_value = [dbo].[SELECT_WITH_PAGING]
    @strFields = N'test',
    @strPK = N'test',
    @strTables = N'test',
    @intPageNo = 0,
    @intPageSize = 1,
    @blnGetRecordCount = 1,
    @strFilter = N'test',
    @strSort = N'test',
    @strGroup = N'test'
    SELECT'Return Value'= @return_value
    GO

  4. #4
    bruce-willis
    Invité(e)
    Par défaut
    Ce que je cherche c'est seulement comment lancer une procédure où j'ai mis des PRINT ou SELECT dedans pour voir l'évolution de son exécution ainsi que de pouvoir lire les résultats OUTPUT.
    J'ai trouvé un outil fabriqué par des tiers : SQL manager 2005 où je peux exécuter une procédure, un dialogue de saisie des paramètres s'affiche alors ! Dommage qu'on ne peut pas faire du step by step ! Mais le soucis c'est que les PRINT et SELECT ne s'affiche pas, pourquoi ?

    Je faisais comme suit sous oracle, désolé de montrer du code oracle mais la reconversion vers sql server semble un peu compliqué

    SET serveroutput ON;

    variable n number;

    begin
    :n := null;
    end;
    /
    exec convertcatalog('Shirt','Blue',:n);
    Dernière modification par bruce-willis ; 19/03/2008 à 08h16.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    si tu fais un print ou un select dans un explorateur sql tu dois avoir le résultat qui s'affiche

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create proc maproc
    as
    begin
    print '2'
    select 1
    end
    si tu lances
    tu dois voir 2 lignes


  6. #6
    bruce-willis
    Invité(e)
    Par défaut
    Explorateur SQL comme Query Analyzer ?
    Que faire dans le cas où il y a des OUTPUT comme l'exemple oracle que j'ai montré

  7. #7
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    Explorateur SQL comme Query Analyzer ?
    oui



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE proc maproc(@resultat varchar(50) output)
    AS
    begin
    declare @retour varchar(50)
    print '2'
    SET @retour ='mon résultat'
    end
    et tu exécutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    declare @resultat varchar(50)
    exec maproc(@resultat)
    PRINT @resultat

  8. #8
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    j'ai oublié le resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE proc maproc(@resultat varchar(50) output)
    AS
    begin
    declare @retour varchar(50)
    print '2'
    SET @retour ='mon résultat'
    SET @resultat =@retour
    end

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...r/transactsql/

    A +

  10. #10
    bruce-willis
    Invité(e)
    Par défaut
    merci pour ces tuyaux (serge0934 et les autres)
    L'article de SQLPRO est aussi intéressant !

    Conclusion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    declare @resultat varchar(50)
    exec maproc(@resultat)
    PRINT @resultat
    Il y a aussi SELECT '...' pour l'affichage

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/03/2013, 10h22
  2. comment exporter une tabe sous sql server à un fichier exel
    Par 21247692 dans le forum Développement
    Réponses: 2
    Dernier message: 24/02/2009, 07h22
  3. Réponses: 1
    Dernier message: 02/04/2007, 11h23
  4. Réponses: 2
    Dernier message: 20/03/2007, 17h00
  5. Pb pour executer une procédure sous SQL PLUS
    Par rabddoul dans le forum Oracle
    Réponses: 4
    Dernier message: 21/10/2005, 15h40

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