"Estar parado" en un registro no existe en SQL. Si lo haces desde una aplicación es la apliacción la que realiza la conexión entre si misma y la tabla, por lo que al ver un registro en pantalla (suponiendo una interfase gráfica) la palicación en realidad está haciendo internamente un UPDATE.
Ese es el principio de diseño del ADO (o DAO) de .Net. Los conectores se encargan de establecer si leen, actualizan o borran, conforme estén configurados los CommandBuilders internos.
Pero si la cosa la quieres hacer en SQL, no hay más remedio: debes levantar el registro entero a variables y volverlo a enviar a la base para hacer un REPLACE.
La ventaja del segundo proceso, es que puedes manejar una tabla entera para actualizaciones, y luego reenviarla en un REPLACE masivo, que crearías en la aplicación. Algo así como:
Código sql:
Ver originalREPLACE INTO Tabla1
VALUES (valores1), (valores2), (valores3), ... (ValoresN);
enviando en los valores solamente aquellos registros que hayas efectivamente modificado.
Este tipo de sentencias se construye en las aplicaciones en foma dinámica (tengo algunas que generan 50 ó 100 reemplazos/inserciones en una sola ejecución).