Delete Mas Ligero
Publicado: 16 Abr 2007, 09:51
Buenas a todos!
Tengo un problemilla con un delete, he conseguido hacerlo en php metido en un bucle y demas y hacer me lo hace, pero me tarda unos 10 segundos y necesito que sea mas rápido. A ver si me podeis echar una mano.
Imaginad que tengo estas dos tablas:
tabla 1(plan,curso,provincia,etc)
tabla 2(plan,curso,provincia,etc)
Puede haber mismos numeros de curso pero que pertenecen a planes distintos,o sea no puede haber 2 numeros de curso iguales en el mismo plan. Necesito borrar de la tabla 2 los cursos que no esten en la tabla 1 y para ello tendre que tener en cuenta tanto el curso como el plan.Este es el código que yo he usado por si os sirve de ayuda para saber lo que busco:
Gracias.
Tengo un problemilla con un delete, he conseguido hacerlo en php metido en un bucle y demas y hacer me lo hace, pero me tarda unos 10 segundos y necesito que sea mas rápido. A ver si me podeis echar una mano.
Imaginad que tengo estas dos tablas:
tabla 1(plan,curso,provincia,etc)
tabla 2(plan,curso,provincia,etc)
Puede haber mismos numeros de curso pero que pertenecen a planes distintos,o sea no puede haber 2 numeros de curso iguales en el mismo plan. Necesito borrar de la tabla 2 los cursos que no esten en la tabla 1 y para ello tendre que tener en cuenta tanto el curso como el plan.Este es el código que yo he usado por si os sirve de ayuda para saber lo que busco:
Código: Seleccionar todo
<?php $SQL="SELECT * FROM CUR_FECH_PREVISTA WHERE N_SOLICI_INTER='$N_SOLICI_INTER'";
$result=$db->Execute($SQL);
while(!$result->EOF)
{
$CURSO_FECH_PREVISTA=$result->fields['N_CUR_PRO'];
$SQL2="SELECT * FROM CUR WHERE N_SOLICI_INTER='$N_SOLICI_INTER' AND N_CUR_PRO=$CURSO_FECH_PREVISTA";
$result2=$db->Execute($SQL2);
$NUM=$result2->RecordCount();
if($NUM==0){
$SQL3="DELETE FROM CUR_FECH_PREVISTA WHERE N_SOLICI_INTER='$N_SOLICI_INTER' AND N_CUR_PRO=$CURSO_FECH_PREVISTA";
$result3=$db->Execute($SQL3);}
$result->movenext();
}
?>