我有3个表 -将数据插入到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)
现在我只需要姓名插入到与国家或地区名称,Statename的和CITYNAME三个表。该标识需要得到更新。
Create PROCEDURE sp_place(
@CountryName char(50),
@StateName varchar(50),
@CityName nchar(20)
)
AS
DECLARE @CountryID int, @StateID int, @CityID int;
Set NOCOUNT OFF
BEGIN TRANSACTION
INSERT INTO dbo.Country VALUES (@CountryName);
SET @CountryID = SCOPE_IDENTITY();
IF @@ERROR <> 0
BEGIN
ROLLBACK
RETURN
END
Insert into dbo.State VALUES (@StateName, @CountryID);
SET @StateID = SCOPE_IDENTITY();
IF @@ERROR <> 0
BEGIN
ROLLBACK
RETURN
END
Insert into dbo.City VALUES (@CityName, @StateID);
SET @CityID= SCOPE_IDENTITY();
Commit
当我输入国家两次时,值不应该改变。 例如:如果我输入印度的国家ID = 1的值,那么当我再次进入印度时,CountryID的值不应增加。
我该怎么做?每个插入我的SP都会改变。
其中是** asp.net ** ?? – 2012-07-24 09:44:32