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 :

Tableaux en T/SQL [2008]


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Tableaux en T/SQL
    Salut à tous chers développeurs, j'ai un sérieux problème depuis hier. En fait, j'aimerais récupérer le résultat d'une requête SQL dans une fonction en transact sql. Pour cela, j'ai pensé récupérer ce résultat dans un tableau, mais le soucis c'est que je sais pas déclarer un tableau et accéder à ses éléments à l'aide de transact sql. Si vous pouvez m'aider, ce serait un avancement dans mon travail.

    Merci et à +.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez utiliser une variable de type table.

    Vous pouvez aussi nous donner plus de détail sur ce que vous essayez de faire, car des alternative pourrait être plus efficaces (vues, fonctions tables,...)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Au fait, la fonction prend en paramètre une colonne d'une table et doit renvoyer un résultat pour chaque élément de cette colonne. Après, dans une requete sql, je n'aurai qu'à appeler la fonction pour chaque valeur de la colonne. J'espère que c'est plus clair.

    Merci.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 780
    Points
    30 780
    Par défaut
    Citation Envoyé par yvesprivat Voir le message
    J'espère que c'est plus clair.
    Pas vraiment

    Montre nous plutôt un exmple et le code que tu as écrit, ce sera plus parlant.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    En fait j'ai une table "Article" avec les colonnes "code_art","design_art" et "prix_unit_art" et j'aimerais classer chaque produit en fonction de son prix en déterminant son rang. Et puis, je voudrais plus tard afficher ce rang à l'aide d'une requête sur la table. Voici le code q j'ai pu produire jusqu'ici:


    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
    create function [dbo].[rang](@prix_unit_art as varchar(50))
    returns varchar(50)
    as
    begin
        declare @rg int=0
        declare @prix table(prix int)
        if(@prix_unit_art=(select max(prix_unit_art) from dbo.Article))
            set @rg=1
        else
            begin
                set @rg=2
                if(@prix_unit_art=(select min(prix_unit_art) from dbo.Article))
                    set @rg=(select count(prix_unit_art) from dbo.Article)
            end
        return @rg+'è'
    end;

    Merci.

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Si c'est juste pour obtenir le rang d'un article en fonction de son prix, il suffit d'utiliser la fonction de classement RANK, ou DENSE_RANK en fonction du besoin. Ce sera bien plus efficace que votre fonction, dont je doute d'ailleurs du fonctionnement.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Slt aieeeuuuuu, la fonction rank() a bien marché et merci de ton aide et à celle des autres.

    A +.

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

Discussions similaires

  1. Regrouper plusieurs tableaux renvoyés par SQL
    Par popy67 dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2010, 14h59
  2. PL/SQL COMPARAISON DE DEUX TABLEAUX APRES BULK
    Par mimi_été dans le forum PL/SQL
    Réponses: 5
    Dernier message: 30/06/2009, 12h14
  3. Création de tableaux bords sous sql server 2005 ?
    Par housni dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/08/2008, 13h40
  4. Syntaxe tableaux dans ordre SQL INSERT
    Par lio33 dans le forum SQL
    Réponses: 6
    Dernier message: 19/10/2005, 17h07
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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