SQL: Insert Daten aus einer anderen Tabelle in einer Tabelle mit Fremdschlüssel

In einer SQL-DATENBANK

Ich habe eine Tabelle Benutzer

 Id   Name   Age    AddressId
----+------+------+-----------

Where AddressId ein Fremdschlüssel auf eine Tabelle, Namen, Anschriften

Adressen Tabelle:

 Id   Country   State  City   ZipCode
----+---------+------+------+---------

Dies ist eine EINS-ZU-EINS-Beziehung: Jeder Benutzer Hat 1 Adresse, und jede Adresse hat ein Benutzer

Habe ich eine neue Tabelle mit dem Namen NEWUsers

Id   Name  
----+------

Es hat nur Id und Name.

Was ich tun will, ist dies:

Schreiben Sie ein Skript einfügen alle Datensätze Aus der NEWUSers-Tabelle in der Benutzer-Tabelle.

  • Ich will Das Alter auf Standard-20 für alle neuen Benutzer
  • Und für jeden neuen Benutzer eingefügt, die ich brauche, um erstellen Sie einen neuen adressdatensatz für ihn
  • die neue Adresse Datensatz werden alle Werte (Land, Stadt, Staat, Postleitzahl) gleich "abcd" mit Ausnahme der Id, die verwendet werden, um die foreign-key-AddressId für den neuen Benutzer)

Wie kann ich das tun?

Ich habe versucht, die folgenden:

INSERT INTO Users(Name, Age)
Values((SELECT Name FROM NewUsers),20)

Aber ich weiß nicht, wie man erstellen Sie einen neuen adressdatensatz für jeden Benutzer eingefügt, und geben Sie den Fremdschlüssel entsprechend.

Vielen Dank für jede Hilfe

  • ist die Adresses.Id eine IDENTITY ?
  • für die neue Adresse erstellen beim einfügen von neuen User sollten Sie sich entscheiden, zu erstellen trigger die ausgeführt wird, nachdem Sie legen Sie neue Benutzer an.
  • ja, es ist Identität
InformationsquelleAutor Youssef | 2012-05-24
Schreibe einen Kommentar