Autor Tema: Función de Carga Masiva de Datos  (Leído 2941 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sportop820

  • Novato
  • *
  • Mensajes: 16
  • Puntuación: 1
    • Ver Perfil
Función de Carga Masiva de Datos
« : 19 de marzo de 2012, 09:09:40 am »
Buenos días gente.
Deseo realizar una carga masiva de una data la cual la hago mediante este código y esto me funciona correctamente

Código: [Seleccionar]
function masiva($objConexion,$ame_codigo,$usu_login){
$this->ame_codigo=$ame_codigo;
$this->usu_login=$usu_login;

$query="INSERT INTO cestaticket (usu_login,id_cest,id_persona,ame_codigo,cest_ent)
SELECT '".$this->usu_login."', NULL , id_persona, ".$this->ame_codigo.", 'S'
FROM personal
WHERE sta_codigo =1
AND id_persona NOT
IN (

SELECT id_persona
FROM cestaticket
WHERE ame_codigo =".$this->ame_codigo."
)";
$modificado=$objConexion->ejecutarSimple($query);
return $modificado;
}

este código me carga la data de: 1) el personal activo con el sta_codigo=1 que poseo en la BD de personal y
2) el período al cual se la estoy cargando atravez del ame_codigo de la tabla ame

adicionalmente deseo condicionar 1 cosas más como lo es tip_codigo que proviene de otra tabla
llamada contratos donde el usuario debera escoger entre 3 opciones que posee esta tabla.

He aqui el asunto me pueden ayudar con esta parte por favor, ya que no se como realizarla...
De antemano y como siempre gracias por su colaboración

Saludos

Desconectado flavioSalas

  • Novato
  • *
  • Mensajes: 35
  • Puntuación: -1
    • Ver Perfil
Re:Función de Carga Masiva de Datos
« Respuesta #1 : 24 de septiembre de 2013, 06:07:04 pm »
Aveces es mejor usar sql puro. lee el manual oficial pagina 149 http://downloads.mysql.com/docs/refman-5.0-es.a4.pdf . aveces uno tiene que usar los
case pero en sentencias sql. eso te ayudaria un mundo evitaria querys inecesarios.
php no es un lenguaje fuerte cuando se trata de acciones recursivas. la memoria se agota si no es liberado el cache, un ejemplo es la clase php mailer , si no usas un destructor en cada envio y la corrres dentro de un loop masivamente  (no hablo de enviar 10 o 20 mails hablo de 1000 en adelante) es muy probable que tu memoria se agote.
 investiga como hacer esto que desea usando el servidor mysql, esa es la solucion adecuada. otra cosa lo que tu deseas se puede lograr cuando creas una base de datos adecuada. lee este libro fundamentos de sql tercera edicion Andy oppel cap4 pagina 95 defina restinciones CHECK para "donde el usuario debera escoger entre 3 opciones"
nota: (tengo el libro  en papel sino dejara el enlace al pdf)
« Última Modificación: 24 de septiembre de 2013, 06:17:02 pm por flavioSalas »

Desconectado flavioSalas

  • Novato
  • *
  • Mensajes: 35
  • Puntuación: -1
    • Ver Perfil
Re:Función de Carga Masiva de Datos
« Respuesta #2 : 25 de septiembre de 2013, 06:41:36 pm »