Bonjour,
Je cherche comment atteindre et recuperer les information du dernier enregistrement d´une table.
Bonjour,
Je cherche comment atteindre et recuperer les information du dernier enregistrement d´une table.
Faut trier.
j´ai pas bien compris, comment trier ?
Est ce que ce code est faisable ou non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 declare c1 is select * from tab R c1%rowtype; beging open c1; while (c1%found) loop fetch c1 into R; end loop; close c1; end;
a la sortie de la boucle tant que, on aura le dernier enregistrement de la table tab dans l´enregistrement R. ?
est ce que ce code est faisable ou non.?
Bien sur, c'est faisable, mais ce te donne le dernier enregistrement de la boucle.
Rien ne garanti que l'ordre du curseur est fonction de l'ordre d'insertion dans la base.
Sur Oracle, le "dernier enregistrement d´une table." ne veut rien dire si tu ne spécifie pas une colonne en particulier.
Alors la solution est de faire un trie suivant la clé avant de commencer.
Mais pouvez vous me dire comment faire un tri.
Ex version PL
Ou ceci pourquoi pas version capilo tracté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Set serveroutput on; Declare Cursor C1 IS SELECT * FROM Ma_Table Order By Ma_Clef Desc; R C1%rowtype; Begin Open C1; Fetch C1 INTO R; Close C1; Dbms_output.put_line(R.Ma_Clef); end; /![]()
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Select * from ( Select rownum No_Lig, B.* from ( Select * from Ma_Table Order By ma_clef desc ) B ) A Where A.No_Lig = 1;
bonjour,
la question que tu doit te poser :
-Le dernier enregistrement par rapport a quoi, une date, un ordre d'insertion,etc..
Ensuite comme le dit McM tu vas trié selon t'on besoin.
Par contre parcourir toutes la table pour avoir le dernier n'est surement pas la bonne méthode (imagine 1 table avec des millions de lignes)
Vous avez raison, il faut tou d´abord introduire le probleme.
Ici je suis entrain de recuperer le dernier enregistrement effectué dans la table P_HW, cette table contient les entrées en stock des imprimantes, chaque enregistrement de cette table contient le champs NB_P, qui represente le nombre de pieces livré.
Ici commence la problematique : je veux recuperer le dernier enregistrement effectué dans la table P_HW et copier les champs de cette table dans la table PRINTER NB_P fois, car la table PRINTER contient les champs de la table P_HW, en ajoutant Le num de serie et l´@ ip...
Partager