Leider musste ich feststellen, dass das wohl nicht klappt (bei "WHERE ID = 'xyz'" wird Feld ID nicht gefunden, auch wenn ich im SELECT Kunden_Nr as ID drinstehen hab).
Natürlich nicht.
Da könntest du nur einen View zwischenschalten oder das Feld überall einfügen und per Trigger mit dem PK synchron halten.
ABER, viele
Query-Komponenten sollten sowas verstehen. Oftmals werden die Insert/Update/Delete-Scripts automatisch aus dem Select generiert
und da wird dann fast immer auch ein per AS umbenanntes Feld richtig behandelt, also
SELECT Kunden_Nr as ID, ...
=>
UPDATE ... WHERE Kunden_Nr = :ID
.