Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] permitir solo insert de codigos que esten en una tabla de bd

Estas en el tema de permitir solo insert de codigos que esten en una tabla de bd en el foro de Mysql en Foros del Web. Hola a todos, tengo una duda que puede ser sencilla de resolver pero quisiera una asesoria: tengo en una tabla con unos codigos y en ...
  #1 (permalink)  
Antiguo 06/05/2016, 07:08
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Mensaje permitir solo insert de codigos que esten en una tabla de bd

Hola a todos, tengo una duda que puede ser sencilla de resolver pero quisiera una asesoria:

tengo en una tabla con unos codigos y en un programa cargo muchos datos pero quiero hacer solo el insert de los codigos que estan autorizados segun la tabla codigos...

Actualmente hago el insert de todos los registros:

Código MySQL:
Ver original
  1. INSERT INTO datos_ingresos_urgencias
  2.         (Numero_de_documento,Descripcion_prestacion,Codigo_Diagnostico_EPS_Op,Numero_Remite,
  3.         Codigo_Sucursal_Atiende,[B]Codigo_Sucursal_Afiliado[/B],fecha_cargue)
  4.         VALUES ('".$Numero_de_documento."','".$Descripcion_Prestacion."','".$Codigo_Diagnostico_EPS_Op."',
la tabla de codigos tiene los siguientes campos:

Codigo_Sucursal_Afiliado , descripcion_sucursal
'
  #2 (permalink)  
Antiguo 06/05/2016, 07:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: permitir solo insert de codigos que esten en una tabla de bd

Podrias usar constraints para hacer lo que necesitas o con codigo sql lo podrias hacer con algo como esto:


Código MySQL:
Ver original
  1. if (select count(*) from codigos where codigo='codigo_sucursal')>=1
  2.  
  3. INSERT INTO datos_ingresos_urgencias
  4.        (Numero_de_documento,Descripcion_prestacion,Codigo_Diagnostico_EPS_Op,Numero_Remite,
  5.         Codigo_Sucursal_Atiende,[B]Codigo_Sucursal_Afiliado[/B],fecha_cargue)
  6.         VALUES ('".$Numero_de_documento."','".$Descripcion_Prestacion."','".$Codigo_Diagnostico_EPS_Op."',
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 10/05/2016, 13:13
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: permitir solo insert de codigos que esten en una tabla de bd

Gracias libras , no sabia lo de constraints ... aca esta muy bien explicado para quien le sirva.

http://blog.openalfa.com/como-trabaj...terna-en-mysql
  #4 (permalink)  
Antiguo 10/05/2016, 13:52
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: permitir solo insert de codigos que esten en una tabla de bd

libras, a proposito la sentencia mysql da error...
  #5 (permalink)  
Antiguo 20/05/2016, 13:20
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: permitir solo insert de codigos que esten en una tabla de bd

lo solucione asi:

Código MYSQL:
Ver original
  1. INSERT INTO datos_ingresos_epidemiologicos
  2.             (Numero_Identificacion_Afiliado,Numero_id_Medico,Codigo_Sucursal_Ips,Codigo_Diagnostico_Egreso,Fecha_Egreso_Afiliado
  3.             ,Prestador_Salud_Desc,Numero_Dias_Estancia_Hospitalizacion,Numero_Peso_Recien_Nacido,Sexo_Recien_Nacido,Numero_Semanas_Embarazo,fecha_cargue)
  4. SELECT '$Numero_Identificacion_Afiliado','$Numero_id_Medico','$Codigo_Sucursal_Ips','$Codigo_Diagnostico_Egreso',
  5.        '$Fecha_Egreso_Afiliado','$Prestador_Salud_Desc','$Numero_Dias_Estancia_Hospitalizacion','$Numero_Peso_Recien_Nacido',
  6.        '$Sexo_Recien_Nacido','$Numero_Semanas_Embarazo',now()
  7. FROM dual
  8. WHERE EXISTS (SELECT codigo_sede FROM central.maestra_sedes WHERE codigo_sede = 'codigo_buscado')LIMIT 1

Última edición por gnzsoloyo; 20/05/2016 a las 13:30

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:23.