Habría que probar esto:
Francamente no lo hice antes, así que hay que ver cuan bien se ejecuta.
DE todos las buenas prácticas aconsejan meter cosas así en stored procedures, y no en sentencias simples, o al menos no intentarlo en sentencias únicas.
Ayuda a no cometer errores.