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

SELECT dentro de un INSERT

Estas en el tema de SELECT dentro de un INSERT en el foro de Bases de Datos General en Foros del Web. Wenas, intento hacer lo siguiente: Código: var sql = "INSERT INTO Idioma_Traductores(id_traductor, id_idioma, titulacion, nivel) SELECT (SELECT id_traductor FROM Traductores T WHERE T.id_usuario = "+id_usuario+"), ...
  #1 (permalink)  
Antiguo 27/08/2008, 11:03
 
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta SELECT dentro de un INSERT

Wenas, intento hacer lo siguiente:

Código:
var sql = "INSERT INTO Idioma_Traductores(id_traductor, id_idioma, titulacion, nivel) SELECT (SELECT id_traductor FROM Traductores T WHERE T.id_usuario = "+id_usuario+"), "+id_idioma+", '"+titulacion+"', "+nivel;
y me sale: error no especificado.
También lo he intentado de esta forma:

Código:
var sql = "INSERT INTO Idioma_Traductores(id_traductor, id_idioma, titulacion, nivel) VALUES (SELECT id_traductor FROM Traductores T WHERE T.id_usuario = "+id_usuario+"), "+id_idioma+", '"+titulacion+"', "+nivel;
y me dice: Error de sintaxis en 'SELECT id_traductor FROM Traductores T WHERE T.id_usuario = "+id_usuario+"'

Como se hace???

Gracias de antemano
  #2 (permalink)  
Antiguo 27/08/2008, 20:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: SELECT dentro de un INSERT

Código:
INSERT INTO Idioma_Traductores(id_traductor, id_idioma, titulacion, nivel) 
SELECT id_traductor, id_idioma, titulación, nivel
FROM Traductores WHERE id_usuario = IdVariable;
Donde IdVariable sería el valor que quieres usar para buscar el id_traductor en la tabla TRADUCTORES.
Tu sabrás como construir el string para mandar la sentencia.

Nota: Esta sintaxis funciona en MySQL, SQL serer, y Oracle. Al resto hay que verificar, pero creo que es un estándar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 23:09.