Je suis aux prises avec ce problème spécifique pendant des heures. J'espère que quelqu'un pourra m'aider à ce sujet.Oracle Apex: comment mettre à jour une forme tabulaire d'une table avec la clé primaire définie comme Identity Always?
Comme la question décrite ci-dessus, j'ai une forme tabulaire qui est construite à partir d'une table, qui a une clé primaire («ID») définie comme «identité toujours». Cela est devenu un problème pour la forme tabulaire, car chaque fois que j'apportais des modifications aux données et que je cliquais sur Enregistrer, Apex affiche cette erreur: ORA-32796: impossible de mettre à jour une colonne d'identité générée
J'ai essayé plusieurs solutions de contournement telles que comme ROWID, mais cette solution ne fonctionnerait pas car j'ai besoin de joindre le formulaire tabulaire avec les champs d'autres tables pour afficher des informations supplémentaires - d'où le ROWID ne serait pas conservé et ne pourrait pas être utilisé comme clé primaire.
Je lis aussi dans un Apex documentation que:
Utilizing the IDENTITY clause on a table can have an impact on Application Express applications. An error will be raised by the database if an IDENTITY column, with ALWAYS parameter specified, is included in an INSERT or UPDATE statement. The Application Express Builder has been enhanced to allow the specification of the identity clause within the Create Table Wizard. The Create Form wizard will generate a "Display Only" item for an identity column with the ALWAYS parameter.
Ce que je ne comprends pas. Apex a en effet généré une colonne supplémentaire ('ID_Display'), mais cela ne change rien au fait que ma forme tabulaire renvoie toujours la même erreur (ORA-32796 ci-dessus). Comment cet élément "Affichage uniquement" peut-il me sauver de la "Impossible de mettre à jour une colonne d'identité toujours générée"?
En note, je développe Apex.oraclecorp.com, Apex en tant que service, où je ne peux pas accéder aux fichiers ou faire des modifications SQL à ma table. S'il vous plaît laissez-moi savoir si vous avez déjà rencontré ce problème et trouvé une solution - merci d'avance!
P.S. la version Apex est 5.0.4.
EDIT:
Désolé, je viens de réaliser il y a la commande SQL interface utilisateur pour effectuer une opération SQL dans Apex. Quelqu'un sait comment ALTER l'identité d'une table de TOUJOURS à DÉFAUT?