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 :

Script Sql avec fonction personnalisée [2008R2]


Sujet :

Développement SQL Server

  1. #1
    Invité
    Invité(e)
    Par défaut Script Sql avec fonction personnalisée
    Bonjour,
    je suis développeur d'IHM en liaison avec une base e données!

    ici il est question de mettre à jour un table énumérant les connexions entre des connecteur multipoints. en d'autre terme le fils1 vas du connecteur 1 alvéole 2 au connecteur 2 alvéole 3.

    le problème est qu'il peut y avoir 2 fils pour chaque alvéole et qu'il faut choisir la bonne référence de clip pour la section du ou de la somme des section!

    par exemple l'alvéole 1 peux contenir le clip AXX pour un section de 0.22 à 0.35 alors qu'il faudra choisir le clip BXX si la section de ou des fils est de 0.35 à 0.75.

    j'ai implémenter une fonction qui retourne la somme des section pour un connecteur et une alvéole! je dois maintenant récupérer la référence du clip en fonction du connecteur et de la section Min/Max.

    Alvéole= select Ref where Min>=0.4 AND Max<=0.4 AND RefConneteur='XXXXX' ce qui dans notre exemple donne BXX 0.35 à 0.75!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE FUNCTION RetournSection(@ID INT,@VOI Char(50),@APP char(50))
    Id = Projet; Voi=Alvéole; App= (Appareil {Code Connecteur})
    j'ai une autre fonction qui me retourne la référence du clip à utilisé en fonction de la section!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE FUNCTION AlvContPartNo(@Cn char(50),@sect decimal(10, 5))
    bien sur, je pourrais fournir directement le résultat de la fonction RetournSection à AlvContPartNo AlvContPartNo(RetournSection) mais le problème es que j'ai plusieurs accessoires additionnel à prendre en compte par exemple les joints d'étanchéifiés qui son régis par le même procédé! JoinContPartN!

    ce que je souhaitais faire pour ne pas calculer la section à chaque fois je pensais utiliser une variable @Section!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE @sect decimal(10, 5));
    select set  @sect=RetournSection([ID],[VOI],[APP]),AlvContPartNo([RefConnecteu],@sect),JoinContPartN([RefConnecteu],@sect)

    je ne sais pas si je suis sur le bon forum , mais merci de m'orienté si ce n'était pas le cas!

    mercie pour votre aide!

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    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 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Il nous faudrait un descriptif DDL des tables et un jeu d'essais; A lire :
    https://www.developpez.net/forums/d9...vement-poster/

    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/ * * * * *

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    j'ais résolu mon problème en créant une fonction qui me retourne tous ce que j'ai besoin pour updater ma table!

    le roblème etait qu'il fallait appeler plusieurs la fonction RetournSection qui me générait de erreur de TimeOut! vue que j'utilise un serveur distant, j'envois plussieurs requête de masse au serveur en un fois!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE FUNCTION UpdFilsEtude()
    RETURNS TABLE

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    salut robert
    rien a voir avec ton sujet mais comme on ne eut pas t'envoyer des MP je permet
    j'aurais besoins de tes lumières si tu repasse par la bipbip moi un MP
    MERCI
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. AIDE SUR REQUETE SQL AVEC FONCTION LIKE
    Par everblue dans le forum Langage SQL
    Réponses: 0
    Dernier message: 16/03/2008, 18h56
  2. Script Shell avec fonction FTP
    Par blackstreet dans le forum Distributions
    Réponses: 1
    Dernier message: 18/09/2007, 09h33
  3. Script SQL avec des EXIT SQL.SQLCODE
    Par fidififouille dans le forum Oracle
    Réponses: 14
    Dernier message: 23/04/2004, 16h45
  4. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57

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