Question

Comme nous le savons dans de nombreux de documentations, il est mentionné que le 3ème élément de la matrice Hôte SQLCA.SQLERRD c'est à dire sqlca.sqlerrd[2] contient le nombre total de lignes traitées par l'instruction SQL à ce jour (en termes de Pro*C).

Quelqu'un sait-de la signification des autres éléments à savoir [0],[1] et ce qu'ils signifient?

Était-ce utile?

La solution

Selon l' erreur de manipulation de la documentation, ils ne font pas n'importe quoi;ils sont réservés pour un usage futur, même si il commence à être peu probable qu'ils vont réellement jamais à utiliser. sqlerrd est déclarée comme long[6], mais seulement [2] et [4] semblent être utilisés, avec le dernier le décalage dans l'instruction SQL d'une erreur d'analyse.

Il est intéressant de ne pas utiliser [0], [1] ou [3] bien que;me demande si ils ont été utilisés pour autre chose dans une version antérieure. Cette vieille informix lien a une structure similaire, avec des significations semblables pour [2] et [4], donc peut donner un indice sur ce qu'ils devraient utiliser les autres pour;mais peut-être un sens de coïncidence...

PostgreSQL semble avoir la même structure, comme n' DB2, et SQL Server a quelque chose qui ressemble liés.Il commence à être louche, comme une norme...bien qu'Oracle que partiellement adhère.

Autres conseils

De la "Informix Guide to SQL" (février 1998):

("Premier", "Deuxième", etc.parce que pas toutes les langues de l'indice de tableaux commençant par 0.)

La première Après le succès de l'instruction prepare pour un SELECT, UPDATE, INSERT ou DELETE, ou après une sélection curseur est ouvert, ce champ contient le nombre estimé de lignes affectées.

Deuxième Lors de SQLCODE contient un code d'erreur, ce champ contient zéro ou un code d'erreur supplémentaires, appelé le ISAM code d'erreur, qui explique la cause de l'erreur.Après le succès de l'opération d'insertion d'une ligne unique, ce champ contient la valeur de toute valeur de SÉRIE généré pour cette ligne.

Troisième Après la réussite de l'insertion de plusieurs lignes, mise à jour ou supprimer l'opération, ce champ contient le nombre de lignes qui ont été traitées.Après une insertion de plusieurs lignes, mise à jour ou supprimer l'opération qui se termine par une erreur, ce champ contient le nombre de lignes qui ont été traitées avec succès avant que l'erreur a été détectée.

Quatrième Après le succès de l'instruction prepare pour un SELECT, UPDATE, INSERT ou DELETE, ou après une sélection curseur a été ouvert, ce champ contient l'estimation de la somme pondérée des accès disque et le nombre de lignes traitées.

Cinquième Après une erreur de syntaxe dans une préparation, l'EXÉCUTION IMMÉDIATE, DÉCLARER, ou statique instruction SQL, ce champ contient l'offset dans le texte de l'instruction où l'erreur a été détectée.

Sixième - Après le succès de l'extraction d'une ligne sélectionnée, ou un succès insert, update ou delete, ce champ contient le rowid (adresse physique) de la dernière ligne qui a été traité.Si cette rowid valeur correspond à une ligne que le serveur de base de données retourne à l'utilisateur dépend de la façon dont le serveur de base de données traite une requête, en particulier pour les instructions SELECT.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top