0

我有3张桌子-

1. Country (CountryName, CID (PK- AutoIncrement))
2. State (SID(PK- AutoIncrement), StateName, CID (FK to Country)
3. City (CityName, CID, SID (FK to State)

现在我只需要将名称插入到 CountryName、StateName 和 CityName 的三个表中。ID 需要更新。

我是怎么做到的?

谢谢,

4

2 回答 2

0

您可以在存储过程中使用存储过程,您可以先将其插入国家表中:

Insert into Country ( CountryName) VALUES (@CountryName)
DECLARE @cid as INTEGER = @@IDENTITY

然后在第二个插入中使用 SELECT @@IDENTITY ,如下所示:

Insert into State( StateName, cid ) values (@StateName, @cid)
DECLARE @SID as INTEGER = @@IDENTITY

并在第三个插入语句中使用相同的:

Insert into City ( CityName, CID,SID ) values (@CityName,@CID,@SID )

这就是你所需要的

于 2012-07-24T09:02:55.860 回答
0

如果您想使用 linq to SQL

var country = new Dbml.Country();
country.Name = "countryname";

var state = new Dbml.State();
state.Country = country;
state.Name = "stateName"

var city = new Dbml.City();
city.State= state;
city.cityName = "cityName";

context.SubmitChanges();
于 2012-07-24T09:27:42.793 回答