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

Multiples sentencias en MySQL (MyODBC)

Estas en el tema de Multiples sentencias en MySQL (MyODBC) en el foro de Bases de Datos General en Foros del Web. Hola Estoy haciendo una aplicacion con MyODBC (ASP). A la hora en que quiero ejecutar una sentencia del tipo: INSERT INTO tabla1 (auto_inc_key, campo) VALUES ...
  #1 (permalink)  
Antiguo 23/08/2004, 08:10
 
Fecha de Ingreso: junio-2004
Mensajes: 11
Antigüedad: 19 años, 10 meses
Puntos: 0
Multiples sentencias en MySQL (MyODBC)

Hola

Estoy haciendo una aplicacion con MyODBC (ASP).

A la hora en que quiero ejecutar una sentencia del tipo:

INSERT INTO tabla1 (auto_inc_key, campo) VALUES (null, 'x'); INSERT INTO tabla2 (llave_foranea, otro_campo) VALUES (LAST_INSERT_ID(), 'y');

No me funciona, al parecer temina la sentencia al primer ";" y me marca error en el resto. La instruccion SI esta bien, puesto que la ejecuto en el terminal y la ejecuta completa (todos los inserts juntos, puesto que son como 6)

El asunto es que quiero encadenar varias instrucciones en un solo command de ASP, para que así me tome el valor de LAST_INSERT_ID().

¿Saben como le puedo hacer para lograr esto?

La idea de usar un SELECT MAX() y ejecutar N inserts diferentes no me agrada nada

Gracias
  #2 (permalink)  
Antiguo 24/08/2004, 16:03
 
Fecha de Ingreso: septiembre-2003
Mensajes: 33
Antigüedad: 20 años, 7 meses
Puntos: 0
Puedes hacerte una funcion que tokenize la cadena que estas enviando, los tokens estarían definidos por los punto y coma (;) luego de identificar cada token ejecutas éste y asi hasta que se terminen los tokens.

Es decir la siguiente cadena:

"INSERT INTO tabla1 (auto_inc_key, campo) VALUES (null, 'x'); INSERT INTO tabla2 (llave_foranea, otro_campo) VALUES (LAST_INSERT_ID(), 'y');"

Convertirla en estos dos tokens:

"INSERT INTO tabla1 (auto_inc_key, campo) VALUES (null, 'x');"
"INSERT INTO tabla2 (llave_foranea, otro_campo) VALUES (LAST_INSERT_ID(), 'y');"
__________________
www.LatinDevelopers.com
  #3 (permalink)  
Antiguo 25/08/2004, 14:41
 
Fecha de Ingreso: junio-2004
Mensajes: 11
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola navisoft, lo siento, pero eso no me es de mucha ayuda.

La insistencia es que necesito que sea una sola sentencia por que al parecer LAST_INSERT_ID() regresa el valor de la clave en esa sesion.

La manera en que trabajo es creando sesiones por cada sentencia que utilizo, de manera que una llamada posterior a LAST_INSERT_ID() me regresa 0.
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 14:15.