En una base de datos SQLSQL: Insertar datos de otra tabla en una tabla que contiene las claves externas
Tengo una tabla Usuarios
Id Name Age AddressId
----+------+------+-----------
Dónde AddressID es una clave externa a unos nombres de tabla Direcciones
las direcciones de la tabla:
Id Country State City ZipCode
----+---------+------+------+---------
Este es un uno-a-uno: cada usuario tiene la dirección y el 1 cada dirección tiene un usuario
tengo una nueva tabla newusers nombrados
Id Name
----+------
Sólo tiene identificador y el nombre.
Lo que quiero hacer es esto:
escribir un script para insertar todos los registros de la tabla newusers en la tabla de usuarios.
- Quiero que la edad para ser predeterminado 20 para todos los usuarios nuevos
- Y para cada nuevo usuario inserta Necesito crear un nuevo registro de dirección para él
- el nuevo registro de dirección tendrá todos lo que es valores (país, ciudad, estado, código postal) igual a "abcd" excepto el Id que se usará para establecer la clave externa ID de dirección para el nuevo usuario)
¿Cómo puedo hacer eso?
He intentado lo siguiente:
INSERT INTO Users(Name, Age)
Values((SELECT Name FROM NewUsers),20)
Pero no sé cómo crear un nuevo registro de direcciones para cada usuario insertar y especifique la clave externa en consecuencia.
Muchas gracias por cualquier ayuda
es el 'Adresses.Id' y' IDENTITY'? –
para crear una nueva dirección cuando inserta un nuevo 'Usuario' debe decidir crear' trigger' que se ejecutará después de insertar un nuevo Usuario. – Sajmon
@ypercube sí, es Identity – Youssef