bubix
Messages postés9Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention20 novembre 2005 19 nov. 2005 à 11:11
Ce que je veux, c'est extraire une ligne. Travailler avec les champs de cette ligne. Puis extraire la ligne suivante puis travailler aussi avec les champs de cette ligne. Ainsi de suite, jusqu'à l'extraction de toutes lignes.
Select * from matable, me donne toutes lignes d'un coup.
Moi ce que j'aimerais c'est select ligneDesiree from matable.
Le problème c'est que je ne connais pas la valeur des champs de la ligne donc je ne peux pas le faire de cette manière:
select ligneDesiree from ma table where Condition
Le where je ne peux pas l'utiliser.
Ce que j'ai fais pour l'instant pour extraire une ligne d'une table,
c'est d'utiliser un cursor avec la commande fetch,
Mais EXISTE-T-IL UN AUTRE MOYEN??
bubix
Messages postés9Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention20 novembre 2005 20 nov. 2005 à 12:31
Merci d'avoir répondu.
Je ne peux pas utiliser le where car je ne connais pas les valeurs de chaque champ(colonne) de la ligne.
Ce que je dois faire, c'est extraire la valeur contenue dans une colonne de chaque ligne mais je ne connais pas cette valeur donc je ne peux pas utiliser le where.
J'espère que tu compdras avec ca..
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
bubix
Messages postés9Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention20 novembre 2005 20 nov. 2005 à 19:19
Voila l'exemple du trigger:
--création d'une table
create table tableTrigger(num int, nom char(30))
--Création du trigger
create trigger insertTableTrigger on tableTrigger
after insert
as
begin
declare @variable int
--Récupère une ligne de la table deleted
--Ceci me convient si seulement il y une ligne dans la table deleted
set @variable=(Select num from deleted )
--Utilise la valeur de la variable
...
end
Le select num from deleted joue s'il y a qu'une ligne. Mais lorsque plusieurs lignes on été insérées dans la table Tabletrigger, ca ne joue pas. Tu me diras, il faut créer une table locale mais ca ne change rien à mon problème.
Ce que je veux finallement, c'est extraire une à une les lignes de la table deleted de puis la 1ere à la dernière sans utiliser de cursors et de fetch next.
Ensuite à chaque extraction de ligne je dois sortir la valeur de num et l'affecter à ma variable puis l'utiliser dans mon trigger.
Je ne sais pas si c'est possible d'eviter les cursors et fetch next quand on veut extraire les lignes d'une table?????
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 21 nov. 2005 à 16:21
salut,
je ne pense pas non plus que tu puisse te passer du curseur.
sauf si tu trouve le moyen de traiter toutes les lignes en meme temps pour faire ce que tu veux. mais pour cela il faudrait que tu nous dise ce que tu veux faire avec tes données.
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 21 nov. 2005 à 16:23
.. cela dit je ne vois pas ce qui te gene dans l'utilisation des curseurs, ils sont la pour ca :)
si tu as des soucis pour les utiliser, explique nous ton probleme, on pourra peut etre plutot t'aider la dessus. ca me parait plus simple que d'essayer de chercher une solution "systeme D"pour les contourner