Richtig, ein Generator (auch Sequence genannt) ist im Prinzip nur ein Zähler.
Man kann dann mithilfe eines Triggers im Falle eines Inserts den nächsten Wert auslesen und diesen als ID eintragen.
Die meisten Administratorprogramme legen diesen Trigger so an, dass das nur passiert, wenn ID = null ist. Es bleibt dir aber selbst überlassen, wie du deinen Trigger programmiert.
Man kann z.B. auch komplett auf den Generator verzichten und die IDs als
UUIDs generieren lassen.
Es stehen einem also alle Türen offen... Man ist damit sehr flexibel.
Man kann über so einen Trigger auch noch viel mehr sinnvolle Sachen hinterlegen, wie z.B. ein logging -oder Sperrsystem.