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