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 :

Renvoyer le resultat d'une req stockee dans un texte


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Renvoyer le resultat d'une req stockee dans un texte
    Bonjour,

    je cherche à faire une fonction simple permettent de me renvoyer le premier identifiant libre comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE FUNCTION NextId(
    	@Champ nvarchar(20), 
    	@Table nvarchar(20)
    ) RETURNS int AS 
    BEGIN ...

    Pour ce faire je dois donc créer ma requete sql que je stocke dans une variable de type nvarchar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DECLARE @SQL NVARCHAR(200)
    DECLARE @RET int
     
    SET @SQL = 'Select Min([' + @Champ + ']-1) From ' + @Table + ' As T1 
    			Where ((([' + @Champ + ']-1)>0) And (((Select [' + @Champ + ']
    			From ' + @Table + ' T2
    			Where T2.[' + @Champ + ']=T1.[' + @Champ + ']-1)) Is Null))'
    ...
    Mais ensuite je n'arrive pas à exploiter le résultat de cette requete qui est correcte, j'ai essayé pas mal de choses (insertion dans une table tempo, création d'une procedure stockée avec parametre de retour, utilisation de EXEC sp_executesql...) sans succès...

    Comment récupérer le résultat d'une requete contenue dans une variable texte et le renvoyer en retour de fonction?

  2. #2
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    essai juste d'exécuter la requête SQL !! comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE FUNCTION NextId(
       @Champ nvarchar(20),
       @Table nvarchar(20)
    ) AS
    Begin
    ...
    DECLARE @SQL NVARCHAR(200)
    DECLARE @RET int
    ...
    Select Min([' + @Champ + ']-1) From ' + @Table + ' As T1
             Where ((([' + @Champ + ']-1)>0) And (((Select [' + @Champ + ']
             From ' + @Table + ' T2
     
    Go

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    La fonction est simple mais la faire sans faire d'erreurs de syntaxe ou de type n'est apparemment pas aussi simple...

    Citation Envoyé par Morsi
    essai juste d'exécuter la requête SQL !! comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE FUNCTION NextId(
       @Champ nvarchar(20),
       @Table nvarchar(20)
    ) AS
    Begin
    ...
    DECLARE @SQL NVARCHAR(200)
    DECLARE @RET int
    ...
    Select Min([' + @Champ + ']-1) From ' + @Table + ' As T1
             Where ((([' + @Champ + ']-1)>0) And (((Select [' + @Champ + ']
             From ' + @Table + ' T2
     
    Go

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/03/2007, 13h48
  2. Réponses: 1
    Dernier message: 26/08/2006, 09h18
  3. Réponses: 3
    Dernier message: 05/05/2006, 14h57
  4. Réponses: 1
    Dernier message: 25/10/2005, 12h18
  5. [VB.NET] afficher une image stockée dans une table
    Par matonfire dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/03/2004, 11h21

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