Archives de catégorie : SQLCODE

CODE RETOUR -768

AN AUXILIARY TABLE ALREADY EXISTS FOR THE SPECIFIED COLUMN OR PARTITION

Explication :
Tentative de création d’une table auxiliaire, mais une table auxiliaire pour la colonne ou la partition spécifiée existe déjà. Lorsque la table de base appartient à un espace table non partitionné, il ne peut y avoir qu’une seule table auxiliaire par colonne LOB de la table. Lorsque la table de base appartient à un espace table partitionné, pour toute colonne LOB donnée, toutes les valeurs de la colonne LOB pour une partition donnée sont stockées dans leur propre table auxiliaire. Il doit y avoir une table auxiliaire par partition de l’espace table de base.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Vérifiez que le nom de table, le nom de colonne et, le cas échéant, le numéro de partition corrects ont été spécifiés. Si la table auxiliaire existante doit avoir un nom différent, exécutez l’instruction RENAME TABLE pour renommer la table auxiliaire.

SQLSTATE :
560A5

CODE RETOUR -769

SPECIFICATION OF CREATE AUX TABLE DOES NOT MATCH THE CHARACTERISTICS OF THE BASE TABLE

Explication :
Soit une tentative a été faite pour créer une table auxiliaire :
– à l’aide de la clause PART et la table de base spécifiée n’est pas partitionnée ou
– sans utiliser la clause PART et la table de base spécifiée est partitionnée

Si la table de base n’est pas partitionnée, le mot clé PART n’est pas autorisé dans l’instruction CREATE AUXILIARY TABLE. Si la table de base est partitionnée, le mot-clé PART doit être spécifié.

Action du système :
La table auxiliaire n’a pas été créée.

Réponse du programmeur :
Vérifiez si le nom de la table de base spécifié dans l’instruction CREATE AUXILIARY TABLE est correct. S’il est correct et que la table n’est pas partitionnée, supprimez la clause PART de l’instruction. S’il est correct et que la table est partitionnée, ajoutez la clause PART à l’instruction. Si le nom de table n’est pas correct, corrigez-le et vérifiez également que le nom de colonne correct est spécifié.

SQLSTATE :
53096

CODE RETOUR -770

TABLE table-name CANNOT HAVE A LOB COLUMN UNLESS IT ALSO HAS A ROWID, OR AN XML COLUMN UNLESS IT ALSO HAS A DOCID COLUMN

Explication :

table-name
Le nom de la table.

Tentative de création d’une table, table-name, avec une colonne qui dépend d’un autre type de colonne dans la même table. Cette erreur peut se produire dans les situations suivantes :
– L’instruction a tenté de créer une table avec une colonne LOB ou d’ajouter une colonne LOB à une table, mais la table n’a pas de colonne ROWID. Une table avec une colonne LOB doit également avoir une colonne ROWID.
– L’instruction a tenté de créer une table avec une colonne XML ou d’ajouter une colonne XML à une table, mais la table n’a pas de colonne DOCID. Une table avec une colonne XML doit également avoir une colonne DOCID.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Si vous créez une table, définissez une colonne supplémentaire pour la colonne ROWID ou DOCID dans la même table.

SQLSTATE :
560A6

CODE RETOUR -764

A LOB TABLE SPACE AND ITS ASSOCIATED BASE TABLE SPACE MUST BE IN THE SAME DATABASE

Explication :
Tentative de création d’une table auxiliaire dans un espace table LOB qui ne se trouve pas dans la même base de données que l’espace table de base associé.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Corrigez l’instruction pour spécifier un espace table LOB dans la même base de données que l’espace table de base associé.

SQLSTATE :
560A2

CODE RETOUR -765

TABLE IS NOT COMPATIBLE WITH DATABASE

Explication :
Une instruction CREATE TABLE ou ALTER TABLE définit une colonne LOB dans une table dont l’attribut de base de données est ROSHARE OWNER ou ROSHARE READ. Ceci n’est pas autorisé.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Si CREATE TABLE, affectez la table à une base de données ROSHARE NONE ou créez la table sans colonne LOB. Si ALTER TABLE, redéfinissez la colonne en tant que colonne non-LOB ou déplacez la table vers une base de données ROSHARE NONE.

SQLSTATE :
560A3

CODE RETOUR -766

THE OBJECT OF A STATEMENT IS A TABLE FOR WHICH THE REQUESTED OPERATION IS NOT PERMITTED

Explication :
L’opération demandée n’est pas valide pour la table spécifiée dans l’instruction SQL.

Cette erreur peut se produire lorsque l’instruction enfreint l’une des exigences suivantes, selon le type de table :

Tableau des accélérateurs uniquement
Une table d’accélérateur uniquement ne doit être spécifiée dans aucune des instructions suivantes :
– Une instruction CREATE SYNONYM pour définir un synonyme.
– Une instruction CREATE TRIGGER pour définir un déclencheur pour la table d’accélérateur uniquement.
– Une instruction LOCK TABLE.
– Une instruction CREATE INDEX.

Table d’archives
Une table d’archive doit être la seule table de l’espace table et ne doit pas appartenir à l’un des types de tables suivants :
– Un tableau incomplet
– Une table auxiliaire
– Une table clone ou une table avec un clone défini dessus
– Une table implicitement créée pour une colonne XML
– Une table qui contient une colonne d’étiquette de sécurité

Une colonne d’étiquette de sécurité ne peut pas être ajoutée à une table d’archive.

Table archivable
Une table activée pour l’archivage doit être la seule table de l’espace table et ne doit pas appartenir à l’un des types de table suivants :
– Un tableau incomplet
– Une table auxiliaire
– Une table clone ou une table avec un clone défini dessus
– Une table implicitement créée pour une colonne XML
– Une table qui contient une colonne d’étiquette de sécurité

Une colonne d’étiquette de sécurité ne peut pas être ajoutée à une table activée pour l’archivage.

Table auxiliaire
Une table auxiliaire pour une colonne LOB ne doit pas être spécifiée comme cible des instructions suivantes :
– ALTER TABLE
– CREATE ALIAS
– CREATE FUNCTION
– REATE SYNONYM
– CREATE VIEW
– DELETE
– DESCRIBE TABLE
– INSERT
– MERGE
– SELECT
– TRUNCATE
– UPDATE

Les attributs d’une table auxiliaire ne peuvent pas être modifiés. Cependant, les attributs APPEND des tables auxiliaires peuvent être modifiés.

Les alias et les synonymes ne peuvent pas être créés sur une table auxiliaire.

Les données d’une table auxiliaire ne sont pas accessibles en spécifiant le nom de la table auxiliaire dans l’instruction SELECT, INSERT, DELETE, UPDATE, MERGE, CREATE PROCEDURE ou CREATE FUNCTION. Les données d’une table auxiliaire ne sont accessibles que par le biais d’opérations sur les colonnes de la table de base.

CLUSTER ne peut pas être spécifié dans une instruction ALTER TABLE si la table est une table auxiliaire.

Table créée implicitement pour une colonne XML
Une table créée implicitement pour une colonne XML ne doit pas être spécifiée comme cible des instructions suivantes :
– ALTER TABLE
– CREATE ALIAS
– CREATE FUNCTION
– CREATE INDEX
– CREATE SYNONYM
– CREATE TRIGGER
– CREATE VIEW
– DELETE
– DESCRIBE TABLE
– INSERT
– MERGE
– REVOKE
– SELECT
– TRUNCATE
– UPDATE

Tableau avec gestion des versions des données de la période système
Une table avec gestion des versions de données de période système doit être la seule table de l’espace table et ne doit pas être l’un des types de tables suivants :
– Un tableau incomplet
– Une table auxiliaire
– Une table clone ou une table avec un clone défini dessus
– Une table implicitement créée pour une colonne XML
– Une table qui contient une colonne d’étiquette de sécurité
– Une colonne d’étiquette de sécurité ne peut pas être ajoutée à une table temporelle de période système.

Cette erreur peut également se produire lorsqu’une instruction TRANSFER OWNERSHIP est spécifiée pour transférer la propriété d’une table contenant une colonne SECURITY LABEL.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Corrigez l’instruction pour spécifier la table de base correspondante au lieu de la table spécifiée, puis soumettez à nouveau l’instruction.

SQLSTATE :
560A4

CODE RETOUR -752

THE CONNECT STATEMENT IS INVALID BECAUSE THE PROCESS IS NOT IN THE CONNECTABLE STATE

Explication :
Le processus d’application a tenté d’exécuter une instruction CONNECT alors qu’il était dans l’état non connectable.

Action du système :
La déclaration ne peut pas être traitée. L’état de connexion du processus d’application est inchangé.

Réponse du programmeur :
Modifiez le programme d’application pour exécuter une opération de validation ou d’annulation avant d’exécuter l’instruction CONNECT.

SQLSTATE :
0A001

CODE RETOUR -763

INVALID TABLE SPACE NAME space-name

Explication :
L’espace table nommé n’est pas valide.

space-name
Nom de l’espace table.

Les raisons possibles de cette erreur incluent :

  • Il s’agit d’un espace table LOB et ne peut donc pas résider dans une base de données de fichiers de travail.
  • Il s’agit d’un espace table LOB et ne peut donc pas contenir de table non auxiliaire.
  • Il ne s’agit pas d’un espace table LOB et ne peut donc pas contenir de table auxiliaire.
  • Il s’agit d’un espace table LOB et LOGGED a été spécifié, mais l’espace table de base associé est défini comme NOT LOGGED.
  • Il s’agit d’un espace table LOB et COMPRESS YES a été spécifié, mais l’espace table de base associé n’est pas un espace table universel.
  • Il s’agit d’une table de hachage et ne peut donc exister que dans un espace table partition par plage ou un espace table partition par croissance. Les tables de hachage ne peuvent pas être créées dans des espaces table XML ou dans tout autre type d’espace table, et les tables ne peuvent pas être modifiées pour utiliser l’accès par hachage à moins qu’elles ne soient de l’un de ces types.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Prenez les mesures appropriées :

  • Créez l’espace table LOB dans une base de données autre qu’un fichier de travail.
  • Créez la table dans un espace table non LOB.
  • Créez la table auxiliaire dans un espace table LOB.
  • Créez un espace table LOB et ne spécifiez pas LOGGED.
  • Pour une table organisée par hachage, créez un espace table universel qui n’est pas un espace table XML ou LOB.

SQLSTATE :
560A1

CODE RETOUR -747

TABLE table-name IS NOT AVAILABLE UNTIL THE AUXILIARY TABLES AND INDEXES FOR ITS EXTERNALLY STORED COLUMNS HAVE BEEN CREATED

Explication :
Tentative d’accès ou de référence à une table avec une ou plusieurs colonnes LOB, mais :

  • soit une table auxiliaire pour stocker une des colonnes LOB n’a pas été créée,
  • soit un index n’a pas été créé pour une table auxiliaire,
  • soit il n’y a pas de table auxiliaire pour chaque partition de l’espace table.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :

  • Utilisez CREATE TABLESPACE pour créer un espace table LOB.
  • Utilisez CREATE TABLE pour créer la table auxiliaire pour stocker la colonne.
  • Utilisez CREATE INDEX pour créer un index sur la table auxiliaire.
  • Soumettez à nouveau la déclaration qui a échoué.

SQLSTATE :
57054

CODE RETOUR -748

AN INDEX index-name ALREADY EXISTS ON AUXILIARY TABLE table-name

Explication :
L’instruction CREATE INDEX crée un second index sur la table auxiliaire spécifiée. Une table auxiliaire ne peut avoir qu’un seul index.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Un index existe déjà. Un autre index ne peut pas être créé.

SQLSTATE :
54042