SQL Server 2005.¿Cómo consulto las claves externas que no coinciden con sus restricciones?
Estoy agregando restricciones de clave externa a la base de datos de una aplicación que supuestamente no las necesitaba. Naturalmente, los datos se han vuelto poco confiables y hay entradas huérfanas en el campo de clave externa.
Configuración:
Dos tablas, TableUser y TableOrder. TableUser tiene clave principal 'UserID', y TableOrder tiene clave externa 'UserID'.
¿Cómo puedo encontrar las filas donde TableOrder.UserID no tiene una entrada coincidente en TableUser.UserID?
Por ejemplo, TableOrder.UserID tiene un valor de 250, pero no hay ninguna clave TableUser.UserID juego para 250.
Una vez que los haya encontrado, ¿qué quiere hacer con ellos? Por ej., Eliminarlos? – erickson
ERRR, si hay una clave externa, ¿cómo puede no coincidir? ¿De verdad tiene códigos FK codificados en su SQL? –
Se refiere a una tabla con campos que son tratados por la aplicación como clave externa, pero nunca fueron aplicados por la base de datos en sí. – BradC