postgres has OID and oracle has ROWID which would allow you to do this
(I think they call them metacolumns so you could say (assume postgres
for the moment):
select oid, x.* from x;
then:
delete from x where oid = :oid
As for the query names, they are useful when you are supporting
multiple databases since the queries themselves all move into
.xql files and meaningful names then become much more helpful.