Сделана 10 лаба

This commit is contained in:
2022-10-26 04:27:12 +03:00
parent c96fca8bc7
commit b4cf7ebb8c
5 changed files with 81 additions and 0 deletions

19
Lab10/Task1.sql Normal file
View File

@@ -0,0 +1,19 @@
/*
Starts a transaction to read the record of
Linda Gonzales and update her first name.
Second select shows the uncommitted update.
@@trancount shows the number of open transactions.
*/
USE AdventureWorks
-- START TRANSACTION HERE
BEGIN TRANSACTION
SELECT @@trancount AS 'Transaction Count'
SELECT FirstName, MiddleName, LastName FROM Person.Contact WHERE ContactID = 342
UPDATE Person.Contact SET FirstName = 'Lin' WHERE ContactID = 342
-- END TRANSACTION HERE
COMMIT TRANSACTION
SELECT FirstName, MiddleName, LastName FROM Person.Contact WHERE ContactID = 342
SELECT @@trancount AS 'Transaction Count'

21
Lab10/Task2.sql Normal file
View File

@@ -0,0 +1,21 @@
/*
Starts a transaction to read the record of
Dominic Gonzalez and update his first name.
Second SELECT shows the uncommitted update.
@@trancount showS the number of open transactions.
Then the transaction is rolled back and the record read again.
*/
USE AdventureWorks
BEGIN TRANSACTION
SELECT @@trancount AS 'Transaction Count'
SELECT FirstName, MiddleName, LastName FROM Person.Contact WHERE ContactID = 7454
UPDATE Person.Contact SET FirstName = 'Dom' WHERE ContactID = 7454
SELECT FirstName, MiddleName, LastName FROM Person.Contact WHERE ContactID = 7454
SELECT @@trancount AS 'Transaction Count'
-- END TRANSACTION HERE
ROLLBACK TRANSACTION
SELECT FirstName, MiddleName, LastName FROM Person.Contact WHERE ContactID = 7454
SELECT @@trancount AS 'Transaction Count'

20
Lab10/Task3.sql Normal file
View File

@@ -0,0 +1,20 @@
SELECT resource_type, request_mode, request_type, request_status,
request_session_id
FROM sys.dm_tran_locks
/*
Update a record in the Person.Contact table in the AdventureWorks database.
*/
USE AdventureWorks
BEGIN TRANSACTION
UPDATE Person.Contact
SET FirstName = 'Fran'
WHERE ContactID = 6
-- For the purpose of the exercise, COMMIT TRANASACTION or ROLLBACK TRANSACTION are not used.
SELECT @@spid AS 'spid'
-- Use the SPID to identify the connection when using sys.dm_tran_locks.
ROLLBACK TRANSACTION

19
Lab10/Task4.sql Normal file
View File

@@ -0,0 +1,19 @@
/*
Read and update a record in the Person.Contact table in the AdventureWorks database.
*/
USE AdventureWorks
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET lock_timeout 5000
BEGIN TRANSACTION
SELECT * FROM Person.Contact WHERE ContactID = 10
UPDATE Person.Contact SET FirstName = 'Frances' WHERE ContactID = 6
-- For the purpose of the exercise, COMMIT TRANSACTION or ROLLBACK TRANSACTION are not used.
SELECT @@spid AS 'SPID'
-- Use the SPID to identify the connection when using sp_lock.
-- ROLLBACK TRANSACTION

2
Lab10/Task4_1.sql Normal file
View File

@@ -0,0 +1,2 @@
SELECT resource_type, request_mode,request_type, request_status, request_session_id
FROM sys.dm_tran_locks