In Netezza wird Primärschlüssel nicht erzwungen. Thread How to overcome Netezza's lack of unique constraint/referential integrity enforcement? beantwortet, wie in gespeicherte Prozedur geschrieben wird, um es zu erzwingen.So generieren Sie GROUP BY-Skript basierend auf Priammy-Schlüssel in Netezza
In unserem Fall wollen wir es nicht mit einer gespeicherten Prozedur erzwingen, weil es unseren Ladevorgang unterbricht. Stattdessen überprüfen wir unsere Datenbankintegrität monatlich, um mögliche Duplikate zu finden. Wir müssen ein Skript uns helfen, die folgende Abfrage für alle Tabellen zu erzeugen:
SELECT {PK1}, {PK2}, COUNT(*)
FROM {TABLENAME}
GROUP BY {PK1}, {PK2} HAVING COUNT(*)>1
LIMIT 100;
Mögliches Duplikat von [Wie overc ome Netezza der Mangel an einzigartigen Constraint/referentielle Integrität Durchsetzung?] (http://stackoverflow.com/questions/5649297/how-to-overcome-netezas-lack-of-unique-constraint-referential-integrity-enforc) –
Nein. Es ist kein Duplikat. Der eine, den Sie erwähnen, ist die Verwendung der gespeicherten Prozedur, um den Primärschlüssel zu erzwingen. Meine Frage ist für einen Abfragegenerator. –
Vielleicht, aber die Antwort ist genau das gleiche. Um einen Primärschlüssel zu erzwingen, müssen Sie die Duplikate finden, was genau die Antwort auf diese Frage ist. –