Dein Select liefert doch mehr als 1 Zeile, wenn die STrasse mehrfach vorkommt.

Ist deine eindeutiger Schlüssel nicht sowas wie eine Kunden-Nr. ?

Dann musst du folgendes tun:
select strasse into :xstrasse from kunde where kdnr=new_row.kdnr
if ...

Ausserdem macht dein Update ja was ganz schlimmes:

update Test.kunde set strasse = new_row.strasse

SETZT ALLE STRASSEN ALLER KUNDEN AUF DIE NEUE STRASSE !!!!

Ich denke du musst da wohl noch ein bisserl in die Logik einsteigen.