1

ストアドプロシージャとトランザクションは初めてです。

2つのテーブルにデータを挿入するストアドプロシージャを作成しました。これがSPです:

Begin

SET NOCOUNT ON 

Declare @Parcel_Id int

INSERT INTO 
        Parcel([Code],[Title],
               [Is_Parcel_Equal_To_Property],
               [Property_Id],[Property_Type_Id],
               [Plot_No],[Phone],[Fax],[Email],
               [Administrator_Name],
               [Watchman_Name],
               [Remark],
               [List_in_Retail_Leasing_Module],
               [Landlord_Id],
               [Country_Id],[State_Id],[Community_Id],[MainRoad_Id],
               [Address],
               [Is_Active],
               [Added_On_Date],[Added_By]) 
        VALUES(@Code,@Title,
               @Is_Parcel_Equal_To_Property,
               @Property_Id,@Property_Type_Id,
               @Plot_No,@Phone,@Fax,@Email,
               @Administrator_Name,
               @Watchman_Name,
               @Remark,
               @List_in_Retail_Leasing_Module,
               @Landlord_Id,
               @Country_Id,@State_Id,@Community_Id,@MainRoad_Id,
               @Address,
               @Is_Active,
               @Added_On_Date,@Added_By) 

Set @Parcel_Id = SCOPE_IDENTITY()

INSERT INTO Parcel_Spacifications
        ([Parcel_Id],[Apartments],[Villas],[Retails],[Offices],[Labour_Camp],
         [Warehouses],[Total_Car_Parks],[Floors],[Year_Of_Construction],
         [Built_Up_Area],[Plot_Area],[No_Of_Basements],[Is_Special_Project])
        VALUES (@Parcel_Id,@Apartments,@Villas,@Retails,@Offices,@Labour_Camp,
                @Warehouses,@Total_Car_Parks,@Floors,@Year_Of_Construction,
                @Built_Up_Area,@Plot_Area,@No_Of_Basements,@Is_Special_Project)               
End
RETURN @Parcel_Id

今、私はトランザクションを使いたいのですが、どうすればいいですか?

4

1 に答える 1

1

BEGIN TRANコードを次のCOMMITようにラップします。

BEGIN

SET NOCOUNT ON

Declare @Parcel_ID int

BEGIN TRAN

...

COMMIT

END

RETURN @Parcel_ID

こちらのドキュメントの備考をお読みください。それらは、トランザクションがどのように機能するかを説明します。

于 2012-11-29T15:33:54.580 に答える