Aktywne Wpisy
L3gion +46
Kiedyś próbowałem poderwać użytkowniczkę z wykopu i do dziś nie wiem co źle zrobiłem :/
#rozowepaski #podrywajzwykopem #heheszki #humorobrazkowy #randkujzwykopem
#rozowepaski #podrywajzwykopem #heheszki #humorobrazkowy #randkujzwykopem
ALTER
PROCEDURE
[dbo].[bookConDay]
-- Add the parameters for the stored procedure here
@client_id
int
,
@conferenceDay_id
int
,
@placesReserved
int
--need to be checked if enough places are available
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET
NOCOUNT
ON
;
``````
BEGIN
TRANSACTION [Tran1]
BEGIN
TRY
INSERT
INTO
dbo.ConferenceDayBooking
(
client_id,
conferenceDay_id,
placesReserved,
cancelled,
bookingDate,
payment_id --deafault NULL
)
VALUES
(
@client_id,
@conferenceDay_id,
@placesReserved,
0,
GETDATE(),
NULL
)
KOLEJNE INSERTY
COMMIT
TRANSACTION [Tran1]
END
TRY
BEGIN
CATCH
ROLLBACK
TRANSACTION [Tran2]
DECLARE
@ErrorMessage NVARCHAR(
max
);
SELECT
@ErrorMessage = ERROR_MESSAGE()
RAISERROR(@ErrorMessage,1,1)
END
CATCH
I teraz załóżmy że jak będę wrzucał do dbo.ConferenceDayBooking to wywołam trigger który wywoła ROLLBACK. Czy KOLEJNE INSERTY zostaną wykonane? Czy transakcja zostanie przerwana ?
Korzystam z MS SQL.
#sql #mssql