Quelle est la commande pour trouver le nombre d'entrées/lignes dans une table temporaire? Version 10.2bcommande pour trouver le nombre d'entrées dans une table temporaire
Répondre
/* create a temp-table so that we can test this technique
*/
define temp-table ttTest
field id as int
.
create ttTest.
id = 1.
create ttTest.
id = 2.
/* how many records?
*/
define query q for ttTest cache 0.
open query q preselect each ttTest.
display num-results("q").
Dommage qu'il n'y ait pas d'attribut 'NUM-RECORDS' pour les objets de table temporaire. Sûrement une table temporaire sait exactement combien de lignes elle contient, et en étant mono-thread, Progress n'a aucun type de complications de concurrence à s'inquiéter. Bizarre qu'ils aient pensé à ajouter un attribut 'HAS-RECORDS' pour vérifier le vide mais pas un avec le nombre réel. –
J'ai eu la même pensée. Je vais essayer de me souvenir de suggérer le temps net que je fournis pour le développement;) –
ou vous pouvez utiliser clasic POUR CHAQUE:
DEFINE VARIABLE iCount AS INT NO-UNDO.
FOR EACH ttTest:
iCount = iCount + 1.
END.
DISPLAY iCount.
est ici le mien, qui fonctionne pour une température table:
FUNCTION TT_NBREC RETURNS INTEGER (INPUT pr_hd_temptable AS HANDLE) :
DEFINE VARIABLE in_nbrec AS INTEGER NO-UNDO INITIAL 0.
DEFINE VARIABLE hd_buffer AS HANDLE NO-UNDO.
DEFINE VARIABLE hd_query AS HANDLE NO-UNDO.
DEFINE VARIABLE ch_query AS CHARACTER NO-UNDO.
DEFINE VARIABLE ch_table AS CHARACTER NO-UNDO.
DEFINE VARIABLE lg_error AS LOGICAL NO-UNDO.
ASSIGN
ch_table = pr_hd_temptable:NAME
ch_query = "FOR EACH " + ch_table + " NO-LOCK".
CREATE BUFFER hd_buffer FOR TABLE ch_table.
CREATE QUERY hd_query.
hd_query:ADD-BUFFER(hd_buffer).
lg_error = hd_query:QUERY-PREPARE(ch_query) NO-ERROR.
hd_query:QUERY-OPEN().
hd_query:GET-FIRST().
DO WHILE NOT hd_query:QUERY-OFF-END :
ASSIGN in_nbrec = in_nbrec + 1.
hd_query:GET-NEXT().
END.
hd_query:QUERY-CLOSE().
DELETE OBJECT hd_query.
DELETE OBJECT hd_buffer.
ASSIGN
hd_query = ?
hd_buffer = ?.
RETURN in_nbrec.
END FUNCTION.
Il suffit de passer ce la poignée de votre temp-table et vous obtenez le nombre d'enregistrements. Ca peut certainement être amélioré, mais ça marche assez vite pour moi.
- 1. Informix: compte le nombre de colonnes dans une table temporaire?
- 2. Requête pour trouver le nombre de multiplications dans une table
- 3. Boucle dans une table pour créer une table temporaire
- 4. Comment obtenir le nombre de colonnes dans la table temporaire
- 5. Table temporaire dans pgAdmin
- 6. Création d'un nom aléatoire (nombre) table temporaire
- 7. Insérer dans une table plusieurs valeurs dans une table temporaire
- 8. créer une table temporaire
- 9. Afficher le résultat des tables dans une table temporaire mysql
- 10. Créer une table temporaire dans Hive?
- 11. Alternative pour une table temporaire MySQL Oracle
- 12. sp_executesql mettre à jour une table temporaire
- 13. Insérer une variable de table dans une table temporaire avec plusieurs colonnes (ID, nombre, etc.)
- 14. nombre de nombre d'enregistrements renvoyés par table temporaire - SQL Server
- 15. Trouver le nombre de colonnes dans une table
- 16. Pour XML Union avec une table temporaire
- 17. Comment obtenir l'index (ou le nombre d'index) sur une table temporaire dans SQL Server
- 18. Création d'une table temporaire dans l'espace table temporaire db2
- 19. Google BigQuery: Insérer des données dans une table temporaire pour le joindre à une autre table
- 20. DROP TABLE échoue pour la table temporaire
- 21. Table temporaire dans Oracle?
- 22. Table temporaire dans PostgreSQL
- 23. Réduire le temps pour créer une table temporaire
- 24. Enregistrement dans une table temporaire tout en ayant une commande de partition supérieure dans mssql
- 25. Modifier `TABLE-HANDLER` pour pointer vers une autre table temporaire
- 26. Comment créer une table temporaire
- 27. Trouver le nombre d'éléments d'une autre table
- 28. Comment modifier une table temporaire?
- 29. regroupement d'enregistrements dans une table temporaire
- 30. Itérer via une table temporaire
Il n'y en a pas. –
Ok merci. Pourquoi cela mérite-t-il un vote négatif?!?! J'ai regardé partout et je ne pouvais pas en trouver un alors je pensais que je demanderais ici au cas où il me manquait quelque chose. – Bill
@Bill Il n'y a rien de mal à votre question. Les gens sont probablement juste en colère que vous mettez en évidence une déficience majeure dans la structure de données la plus centrale d'OpenEdge. –