2017-08-09 2 views
0

Ich habe eine Anwendung aus Arbeitsbereich 1 in Arbeitsbereich 2 zusammen mit ihren Tabellendaten und Definition importiert, aber das Problem ist Beim Hinzufügen eines Datensatzes im interaktiven Raster der importierten Anwendung in Arbeitsbereich 2 wird der Fehler angezeigt, dass PK nicht NULL sein kann. Ich lasse das PK-Feld leer, weil ich erwarte, dass die Sequenz diesen Job genauso macht, wie es in der gleichen Anwendung von Arbeitsbereich 1 tut. Was ist der Grund, dass die gleiche importierte Anwendung in einem gewissen Sinne etwas anders arbeitet? t Werte selbst auffüllen. Was getan werden soll, die Reihenfolge der Arbeit in der importierten Anwendung in Arbeitsbereich Interactive Grid 2.Beim Hinzufügen von Zeile im interaktiven Rasterpunkt 5 funktioniert die Sequenz nicht und zeigt den Fehler an, dass das Feld nicht leer sein kann.

Application in second wrokspace (Interactive Grid)

+0

Eine Sequenz füllt keine Spalte selbst auf, sie muss von etwas verwendet werden - könnte ein Datenbanktrigger sein, oder in Oracle 12C kann ein Spaltenstandard auf eine Sequenz verweisen. Wie wird dein benutzt? –

+0

Ich kenne nicht den Mechanismus hinter dem interaktiven Gitterbereich des Apex 5. Alles, was wir tun müssen, nachdem wir den Bereich auf die Seite in der Designeransicht gezogen haben, ist, dass wir die SQL-Abfrage schreiben, die die Datensätze abruft, und es gibt einige eingebaute Schaltflächen wie z als Zeile hinzufügen, die der Tabelle einen Datensatz hinzufügt. Der Code hinter der Schaltfläche wird nicht angezeigt. In Arbeitsbereich 1 habe ich einfach Daten mit leerer PK (MB Nein im Screenshot) eingegeben und gespeichert. Das PK-Feld wurde nach dem Speichern automatisch mit der nächsten laufenden Nummer gefüllt. Mein Punkt ist, warum die gleiche Anwendung in Arbeitsbereich 2 anders verhält. – Far

+0

Vielleicht befindet sich Arbeitsbereich 2 in einer anderen Datenbank oder einem anderen Schema, und es gibt keinen Datenbanktrigger? Frag deinen Lehrer. –

Antwort

0

Eine Sequenz ist nicht nur „bekannt“ zu machen. Sie müssen angeben, welche Sequenz verwendet werden soll. Wechseln Sie in Ihrem Interactive Grid zur Spaltendefinition. Unter der "Default" Header ändern Sie die Typ zu "Sequenz". Setzen Sie den Namen Ihrer Sequenz in dem Sequenzfeld:

Default Sequence

Wenn das Schema in Arbeitsbereich ist anders dann das Schema des Arbeitsbereiches zwei gibt es eine ganze Menge Gründe könnte es nicht die gleiche Verhalten. Überprüfen Sie auf Unterschiede in den Schemas. Existiert die Sequenz in Ihrem neuen Schema? Wenn Sie das alte Schema verwenden, ist es genauso einfach, wie müssen Sie Ihre Sequenz mit dem Schemanamen voranstellen? Viele Gründe, die sein könnten, schließen die einfachen Sachen zuerst aus.

Verwandte Themen