Suspender restricciones check en una transacción

01/09/2008 - 14:41 por Pedro | Informe spam
Hola todos.

Existe alguna manera de (dentro de una transacción) suspender las
restricciones check de una tabla (para ejecutar unas instrucciones de
modificacion de prueba) y luego volver a ponerlas en el Commit o el RollBack
?

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
01/09/2008 - 17:11 | Informe spam
Pedro,

Me temo que SQL Server no cuenta con esa facilidad, conocida como
"deferrable constraints" (disculpa que lo ponga en ingles), las cuales se
chequean al final de la transaccion, cuando se hace el commit, y no fila a
fila.

Quizas desabilitando la restriccion, hacer la prueba y volover a
habilitarla, pero corres el riesgo de que si otra sesion inserta valores no
permitidos, entonces estos no seran chequeados. Para desabilitar las
restricciones puedes usar la sentencia "alter table".


AMB


"Pedro" wrote:

Mostrar la cita
#2 Pedro
01/09/2008 - 17:42 | Informe spam
Lamento que esa facilidad no la tenga SQL Server. Yo lo usaba en Oracle.

De todos modos gracias.


"Alejandro Mesa" escribió en el
mensaje news:
Mostrar la cita
#3 Pedro
01/09/2008 - 17:57 | Informe spam
Mostrar la cita
Si uno deshabilita la restricción también dentro de la transacción, se corre
el mismo riesgo ?
#4 Alejandro Mesa
01/09/2008 - 18:16 | Informe spam
Pedro,

Si deshabilitas las restricciones de chequeo, lo haces para todas las
sesiones / usuarios de esa db, incluyendo el batch donde la deshabilitas.


AMB


"Pedro" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida