Problemas con INSERT

01/09/2005 - 10:53 por Sergio | Informe spam
Hola,

tengo dos tablas una es de la forma

tbCLIENTES
UID_Cliente (autonumérico)
NombreCliente (texto)
UID_Poblacion (número)

y otra tabla
tbPOBLACIONES
UID_Poblacion (autonumérico)
NombrePoblacion (texto)

al insertar un registro con la sentencia:

INSERT INTO tbCLIENTES (NombreCliente , UID_Poblacion ) VALUES
('EjemploNombreCliente',SELECT UID_Poblacion FROM tbPOBLACIONES WHERE
nombre='EjemploNombrePoblacion')

Me da el siguiente mensaje de error "No se permiten subconsultas en este
contexto.Sólo se admiten expresiones escalares".
Hay alguna forma de insertar el registro en una sola sentencia, sin tener
que averiguar primero el UID de la poblacion y luego insertar el registro
del cliente.


Gracias.
 

Leer las respuestas

#1 Salvador Ramos
01/09/2005 - 11:24 | Informe spam
Si con el siguiente formato (Insert into ... select, en vez de insert into
... values)

INSERT INTO tbCLIENTES
SELECT 'EjemploNombreCliente', UID_Poblacion
FROM tbPOBLACIONES WHERE

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Sergio" escribió en el mensaje
news:df6fjk$6gt$
Hola,

tengo dos tablas una es de la forma

tbCLIENTES
UID_Cliente (autonumérico)
NombreCliente (texto)
UID_Poblacion (número)

y otra tabla
tbPOBLACIONES
UID_Poblacion (autonumérico)
NombrePoblacion (texto)

al insertar un registro con la sentencia:

INSERT INTO tbCLIENTES (NombreCliente , UID_Poblacion ) VALUES
('EjemploNombreCliente',SELECT UID_Poblacion FROM tbPOBLACIONES WHERE
nombre='EjemploNombrePoblacion')

Me da el siguiente mensaje de error "No se permiten subconsultas en este
contexto.Sólo se admiten expresiones escalares".
Hay alguna forma de insertar el registro en una sola sentencia, sin tener
que averiguar primero el UID de la poblacion y luego insertar el registro
del cliente.


Gracias.



Preguntas similares