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の3つのテーブルに名前だけを挿入する必要があります。IDを更新する必要があります。

どうすればいいですか?

ありがとう、

4

2 に答える 2

0

ストアドプロシージャを、最初にカントリーテーブルに挿入できるストアドプロシージャ内のプロシージャに使用できます。

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

次に、次のように2番目の挿入でSELECT@@IDENTITYを使用します。

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

そして、3番目の挿入ステートメントで同じものを使用します:

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

必要なのはそれだけです

于 2012-07-24T09:02:55.860 に答える
0

linqtoSQLを使用する場合

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 に答える