begin process at 2012 05 26 09:33:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Procédures Stockées

 > 

Besoin d'aide pour une procedure


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Besoin d'aide pour une procedure

mercredi 30 août 2006 à 16:08:26 | Besoin d'aide pour une procedure

elpens

Bonjour,
J'ai un petit soucis avec une procédure SQL...

- J'ai un champs dans une table[Sequence] qui s'appelle Argument. Ce champs (nvarchar) contient des id d'une autre table [Contact], séparés par des ';'.

Ex : 30.1; 12.1; 1.1

Je voudrais que ma requete puisse :

- Extraire tout les id de la table
- Pour chaque id, aller rechercher 2 champs différents (nom et prenom) dans la table [Contact]
- Et les afficher dans une autre Requete.

A la fin je voudrais quelque chose du style

idSequence__|____argument______|____tache____|___ordre
123--12            |       Jean Reber                |      nettoyer         |        1
                         |       Marcel Robert          |    
                         |      Yvonne Feurbs          |
                         |            ...                        |
                     en fonction de la "Substring"

123--12            |       Didier Cabris            |       balayer            |       2
123--12            |                ...                    |            ...               |       3
...

Je voyais quelque chose du Style

DECLARE arg nvarchar(255)
SET arg = SELECT Sequence.Argument WHERE Sequence.idSequence LIKE '123--12' 
SELECT FirstName, LastName FROM Contact WHERE idContact = SUBSTRING(???)

Mais déjà là, une erreur survient : 'nvarchar' is not a recognized CURSOR option.

Ensuite, je n'ai plus d'idée pour réussir une telle requete.

Merci d'avance pour votre aide, infos,... et bonne fin de journée

 ElpenS

jeudi 31 août 2006 à 22:45:46 | Re : Besoin d'aide pour une procedure

nhervagault

Administrateur CodeS-SourceS
Salut Je pense que ce que tu recherche est la fonction split en SQL server Voila un code http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648 CREATE FUNCTION dbo.Split ( @RowData nvarchar(2000), @SplitOn nvarchar(5) ) RETURNS @RtnValue table ( Id int identity(1,1), Data nvarchar(100) ) AS BEGIN Declare @Cnt int Set @Cnt = 1 While (Charindex(@SplitOn,@RowData)>0) Begin Insert Into @RtnValue (data) Select Data = ltrim(rtrim(Substring(@RowData,1,Charindex(@SplitOn,@RowData)-1))) Set @RowData = Substring(@RowData,Charindex(@SplitOn,@RowData)+1,len(@RowData)) Set @Cnt = @Cnt + 1 End Insert Into @RtnValue (data) Select Data = ltrim(rtrim(@RowData)) Return END Cette focntion me semble simple Pour l'utiliser Il faut simplement select * from dbo.split("1;2;3;5",";") et le resultat est 1 | 1 2 | 2 3 | 3 4 | 5 Pour la suite de ton probleme je ne comprends pas trop mais la fonction de split je pense te debloquera si je comprend le debut de ton raisonnement. Voila
vendredi 1 septembre 2006 à 19:22:41 | Re : Besoin d'aide pour une procedure

Malkuth

Membre Club
Daccord avec le message précédent
pour l'erreur'nvarchar' is not a recognized CURSOR option.
Il faut un @ devant le nom des variable:
DECLARE @arg nvarchar(255)
SET @arg = ....


Cette discussion est classée dans : aide, table, champs, argument, sequence


Répondre à ce message

Sujets en rapport avec ce message

aide pour une requête [ par Shadow_Membre ] slt tlm,Donc voila, j'ai besoin d'aide pour une requête mysql/php. Le problème c'est que je suis un petit peu rouillé.   Soit deux table « table1 » et Besoin d'aide pour une requete [ par ranouf ] Bonjour,Je me demande si c'est possible de résoudre ce problème par une requete :Imaginez un cube de 5*5*5 cases.Dans ce cube 2 cases appartiennent à aide [ par asmaa17 ] salut,j'ai deux questions j'espere de vous m'aider pour les resoudre: 1-j'ai cree deja une table et j'ai oublié  de mettre un champ en mode numero aut Statistique [ par biiru ] Bonjours à tous,Une fois de plus je sollicite votre aide ^^En fait je dois faire une statistique d'un formulaire et je comptait la faire avec l'aide d Champs email [ par StephaneNet ] Bonjour, Je dois creer une table des adherents de mon site et j'ai un champs email.Pour faire des test je rentre manuellement un mail dans ma table. M Requete sur champs Date [ par yanis7518 ] Salut a tous ma question est assez simple mais je ne sais pas comment faireVoila j'ai une table avec 3champs dont 1 champs date qui correspond a la da Transfert de toutes les valeurs d'un champs vers une autre [ par Imoreion ] Salut :D Je voudrais transférer toutes les valeurs d'un champs d'une table vers une autre. J'ai trouvé la méthode Code Pbs de conception / Historisation de base de donnée [ par Flux__ ] Boujour,Je réfléchis actuellement à une architecture me permettant de garder un historique des modifications effectuer dans une base.Pour simplifier j Ajout d'un description d'un champs pour access en sql [ par Jbs106 ] Salutationvoilà mon souci:Dans access, quand on visualise une table, miz à part le nom et le type du champs, il est possible d'ajouter un commentaire Renseigner un champs d'une table par une variable [ par Rouk ] Bonjour, Je n'arrive pas a renseigner un champs d'une table par une variable. Exemple : Base1.Table1.Champ = MavariableJ'ai essaye avec un set, mais s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales