我有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 需要更新。
我是怎么做到的?
谢谢,
我有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 需要更新。
我是怎么做到的?
谢谢,
您可以在存储过程中使用存储过程,您可以先将其插入国家表中:
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 )
这就是你所需要的
如果您想使用 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();