|
|
|
Transaktsii
|
|||
|---|---|---|---|
|
#18+
Posle otkata transaktsii v hranimoi protsedure, zahoju v EM i delaiu selekt. Problema v tom chto ia ne viju zapisei i posle "Query time out" prihoditsea zakrivati okno prosmotra tablitsi. V hranimoi protsedure delaiu namerenni nepravilinii spelling tablitsi, chtobi posmotreti proishodit li otkat transaktsii. Posle ispravlenia imeni tablitsi (commit proishodit), bez problem smotru na tablitsu v EM. V chem problema? Spasibo zaranee! Izvinite za translit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 15:45:45 |
|
||
|
Transaktsii
|
|||
|---|---|---|---|
|
#18+
привели бы тестирующий код Ну вообще у меня такое было. Я решил, что так как моя транзакция затрагивала довольно большой объем данных она долго откатывалась. Хотя применялась она гораздо быстрей чем откатывалась! "Query Time Out" я тоже наблюдал в EM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 15:58:29 |
|
||
|
Transaktsii
|
|||
|---|---|---|---|
|
#18+
SET XACT_ABORT ON BEGIN TRAN INSERT tbl_ccs_MoneyTransactions ( Amount, PaymentTypeCode, CardTypeCode, ExpDate, TransactionTime ) VALUES (@Amount,@PaymentTypeCode,@CardTypeCode, @ExpDate,@TransactionTime) SET @MoneyTransactionID=@@IDENTITY IF @@ERROR<>0 BEGIN --RAISERROR('ROLLBACK:MONEY TRANSACTION BLOCK',16,1) ROLLBACK TRAN RETURN 0 END INSERT tbl_ccs_don_debug (step) VALUES ('insert_moneytransaction') SELECT @dPersonID=PersonID FROM dbo.tbl_ccs_Individuals WHERE (LOWER(Firstname)=LOWER(@dFirstName)) AND (LOWER(LastName)=LOWER(@dLastName)) AND (StreetNumber=@dStreetNumber) AND (LOWER(StreetName)=LOWER(@dStreetName)) AND (UnitNumber=@dUnitNumber) AND (LOWER(Postal)=LOWER(@dPostal)) AND (LOWER(City)=LOWER(@dCity)) IF @@ROWCOUNT=0 BEGIN --Insert Donor Data stage INSERT INTO dbo.tbl_ccs_Individuals (GenderCode, PrefixCode, FirstName, MiddleInitial, LastName, StreetNumber, StreetName, UnitNumber, BuildingName, Address2, City, Postal, ProvinceCode, ProvinceOther, CountryCode, LanguageCode, HomePhoneArea, HomePhoneNumber, BizPhoneArea, BizPhoneNumber, BizPhoneExt, FaxPhoneArea, FaxPhoneNumber, FaxPhoneExt, CellPhoneArea, CellPhoneNumber, Organization, Email, BirthDate,Password) VALUES (@dGenderCode, @dPrefixCode, @dFirstName, @dMiddleInitial, @dLastName, @dStreetNumber, @dStreetName, @dUnitNumber, @dBuildingName, @dAddress2, @dCity, @dPostal, @dProvinceCode, @dProvinceOther, @dCountryCode, @dLanguageCode, @dHomePhoneArea, @dHomePhoneNumber, @dBizPhoneArea, @dBizPhoneNumber, @dBizPhoneExt, @dFaxPhoneArea, @dFaxPhoneNumber, @dFaxPhoneExt, @dCellPhoneArea, @dCellPhoneNumber, @dOrganization, @dEmail, @dBirthDate,@dPassword) SET @dPersonID=@@IDENTITY IF @@ERROR<>0 BEGIN --RAISERROR('ROLLBACK:DONOR BLOCK',16,1) ROLLBACK TRAN RETURN 0 END END INSERT tbl_ccs_don_debug (step) VALUES ('insert_donor') @rPersonID=PersonID FROM dbo.tbl_ccs_Individuals WHERE (LOWER(Firstname)=LOWER(@rFirstName)) AND (LOWER(LastName)=LOWER(@rLastName)) AND (StreetNumber=@rStreetNumber) AND (LOWER(StreetName)=LOWER(@rStreetName)) AND (UnitNumber=@rUnitNumber) AND (LOWER(Postal)=LOWER(@rPostal)) AND (LOWER(City)=LOWER(@rCity)) IF @@ROWCOUNT=0 BEGIN INSERT INTO dbo.tbl_ccs_Individuals (GenderCode, PrefixCode, FirstName, MiddleInitial, LastName, StreetNumber, StreetName, UnitNumber, BuildingName, Address2, City, Postal, ProvinceCode, ProvinceOther, CountryCode, LanguageCode, HomePhoneArea, HomePhoneNumber, BizPhoneArea, BizPhoneNumber, BizPhoneExt, FaxPhoneArea, FaxPhoneNumber, FaxPhoneExt, CellPhoneArea, CellPhoneNumber, Organization, Email, BirthDate,Password) VALUES (@rGenderCode, @rPrefixCode, @rFirstName, @rMiddleInitial, @rLastName, @rStreetNumber, @rStreetName, @rUnitNumber, @rBuildingName, @dAddress2, @rCity, @rPostal, @rProvinceCode, @rProvinceOther, @rCountryCode, @rLanguageCode, @rHomePhoneArea, @rHomePhoneNumber, @rBizPhoneArea, @rBizPhoneNumber, @rBizPhoneExt, @rFaxPhoneArea, @rFaxPhoneNumber, @rFaxPhoneExt, @rCellPhoneArea, @rCellPhoneNumber, @rOrganization, @rEmail, @rBirthDate,@rPassword) SET @rPersonID=@@IDENTITY IF @@ERROR<>0 BEGIN -- RAISERROR('ROLLBACK:RECIPIENT BLOCK',16,1) ROLLBACK TRAN --rollback transaction after not inserting a recipient RETURN 0 END END INSERT tbl_ccs_don_debug (step) VALUES ('insert_recipient') INSERT INTO dbo.tbl_ccs_Donations (FromID,ToID, Amount,MoneyTransactionID, DonationTypeCode,ReceiptTypeCode) VALUES (@dPersonID,@rPersonID,@Amount,@MoneyTransactionID,@DonationTypeCode,@ReceiptTypeCode) SET @DonationID=@@IDENTITY IF @@ERROR<>0 BEGIN --RAISERROR('ROLLBACK:DONATION BLOCK',16,1) ROLLBACK TRAN RETURN 0 END INSERT tbl_ccs_don_debug (step) VALUES ('insert_donation') INSERT dbo.tbl_ccs_Cards (DonationID,PostcardPatternID,Occasion,Personalization,[From], Message) VALUES (@DonationID,@PostcardPatternID, @Occasion,@Personalization, @From,@Message) IF @@ERROR<>0 BEGIN --RAISERROR('ROLLBACK:CARD BLOCK',16,1) ROLLBACK TRAN RETURN 0 END ELSE BEGIN INSERT tbl_ccs_don_debug (step) VALUES ('insert_card') IF @@ERROR<>0 BEGIN -- RAISERROR('ROLLBACK:DEBUG BLOCK',16,1) ROLLBACK TRAN RETURN 0 END ELSE BEGIN COMMIT TRAN RETURN 1 END END[src][/src] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2002, 17:29:05 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1820254]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 359ms |

| 0 / 0 |
