Загрузил скрипты лаб 1-7

This commit is contained in:
2022-10-26 00:38:28 +03:00
commit 38c08028f1
56 changed files with 1380 additions and 0 deletions

1
Lab1/Task1/SQLQuery1.sql Normal file
View File

@@ -0,0 +1 @@
SELECT title, title_no FROM library.dbo.title;

1
Lab1/Task1/SQLQuery2.sql Normal file
View File

@@ -0,0 +1 @@
SELECT title, title_no FROM library.dbo.title WHERE title_no = 10;

1
Lab1/Task1/SQLQuery3.sql Normal file
View File

@@ -0,0 +1 @@
SELECT member_no, fine_assessed FROM library.dbo.loanhist WHERE fine_assessed BETWEEN 8.00 AND 9.00;

1
Lab1/Task1/SQLQuery4.sql Normal file
View File

@@ -0,0 +1 @@
SELECT author, title_no FROM library.dbo.title WHERE author IN ('Charles Dickens', 'Jane Austen');

1
Lab1/Task1/SQLQuery5.sql Normal file
View File

@@ -0,0 +1 @@
SELECT title, title_no FROM library.dbo.title WHERE title LIKE ('%Adventures%');

1
Lab1/Task1/SQLQuery6.sql Normal file
View File

@@ -0,0 +1 @@
SELECT member_no, fine_assessed, fine_paid FROM library.dbo.loanhist WHERE fine_paid IS NULL;

View File

@@ -0,0 +1,3 @@
--SELECT title, title_no FROM library.dbo.title;
--SELECT CONCAT('The title is: ', title, ', title number: ', title_no, '.') FROM library.dbo.title;
SELECT CONCAT('The title is: ', title, ', title number: ', CONVERT(char, title_no), '.') FROM library.dbo.title;

2
Lab1/Task2/SQLQuery7.sql Normal file
View File

@@ -0,0 +1,2 @@
SELECT DISTINCT city, state FROM library.dbo.adult;
SELECT * FROM library.dbo.title ORDER BY title;

2
Lab1/Task2/SQLQuery8.sql Normal file
View File

@@ -0,0 +1,2 @@
--SELECT member_no, isbn, fine_assessed FROM library.dbo.loanhist WHERE fine_assessed IS NOT NULL;
SELECT member_no, isbn, fine_assessed*2 AS double_fine FROM library.dbo.loanhist WHERE fine_assessed IS NOT NULL;

3
Lab1/Task2/SQLQuery9.sql Normal file
View File

@@ -0,0 +1,3 @@
--SELECT CONCAT(firstname, ' ', middleinitial, ' ', lastname) FROM library.dbo.member WHERE lastname = 'Anderson';
--SELECT CONCAT(firstname, ' ', middleinitial, ' ', lastname) AS email_name FROM library.dbo.member WHERE lastname = 'Anderson';
SELECT LOWER(CONCAT(firstname, ' ', middleinitial, ' ', SUBSTRING(lastname, 1, 2))) AS email_name FROM library.dbo.member WHERE lastname = 'Anderson';

View File

@@ -0,0 +1,2 @@
sp_who;
SELECT @@spid;

View File

@@ -0,0 +1 @@
EXEC sp_who 51;

View File

@@ -0,0 +1,3 @@
SELECT @@version;
SELECT USER_NAME(), DB_NAME(), @@servername;
USE library SELECT * FROM information_schema.tables WHERE table_type = 'base table';

3
Lab2/Task1.sql Normal file
View File

@@ -0,0 +1,3 @@
SELECT SalesPersonID, Bonus FROM AdventureWorks.Sales.SalesPerson ORDER BY Bonus DESC;
SELECT TOP 4 SalesPersonID, Bonus FROM AdventureWorks.Sales.SalesPerson ORDER BY Bonus DESC;
SELECT TOP 4 WITH TIES SalesPersonID, Bonus FROM AdventureWorks.Sales.SalesPerson ORDER BY Bonus DESC;

2
Lab2/Task2_1.sql Normal file
View File

@@ -0,0 +1,2 @@
SELECT COUNT(*) FROM AdventureWorks.HumanResources.Employee;
SELECT COUNT(*) FROM AdventureWorks.HumanResources.Employee WHERE ManagerID IS NOT NULL;

3
Lab2/Task2_2.sql Normal file
View File

@@ -0,0 +1,3 @@
SELECT SUM(OrderQty), ProductID FROM AdventureWorks.Sales.SalesOrderDetail GROUP BY ProductID;
SELECT SUM(OrderQty), ProductID FROM AdventureWorks.Sales.SalesOrderDetail GROUP BY ProductID ORDER BY SUM(OrderQty);
SELECT SUM(OrderQty), ProductID FROM AdventureWorks.Sales.SalesOrderDetail GROUP BY ProductID HAVING SUM(OrderQty) >= 2000 ORDER BY SUM(OrderQty);

2
Lab2/Task2_3.sql Normal file
View File

@@ -0,0 +1,2 @@
SELECT ProductID, SpecialOfferID, AVG(UnitPrice), SUM(LineTotal) FROM AdventureWorks.Sales.SalesOrderDetail GROUP BY ProductID, SpecialOfferID;
SELECT ProductID, SpecialOfferID, AVG(UnitPrice) AS avg_unit_price, SUM(LineTotal) AS sum_line_total FROM AdventureWorks.Sales.SalesOrderDetail GROUP BY ProductID, SpecialOfferID ORDER BY ProductId ASC;

3
Lab2/Task3_1.sql Normal file
View File

@@ -0,0 +1,3 @@
SELECT SalesQuota, SUM(SalesYTD) AS TotalSalesYTD FROM AdventureWorks.Sales.SalesPerson GROUP BY SalesQuota;
SELECT SalesQuota, SUM(SalesYTD) AS TotalSalesYTD FROM AdventureWorks.Sales.SalesPerson GROUP BY ROLLUP(SalesQuota);
SELECT SalesQuota, SUM(SalesYTD) AS TotalSalesYTD FROM AdventureWorks.Sales.SalesPerson GROUP BY GROUPING SETS(ROLLUP (SalesQuota));

2
Lab2/Task3_2.sql Normal file
View File

@@ -0,0 +1,2 @@
SELECT ProductID, SUM(LineTotal) FROM AdventureWorks.Sales.SalesOrderDetail WHERE UnitPrice < 5.00 GROUP BY ProductID ORDER BY ProductID;
SELECT ProductID, OrderQty, SUM(LineTotal) FROM AdventureWorks.Sales.SalesOrderDetail WHERE UnitPrice < 5.00 GROUP BY CUBE(ProductID, OrderQty) ORDER BY ProductID;

4
Lab3/Task1.sql Normal file
View File

@@ -0,0 +1,4 @@
SELECT CONCAT(firstname, ' ', middleinitial, ' ', lastname) as name, street, city, state, zip
FROM library.dbo.member
JOIN library.dbo.adult
ON library.dbo.member.member_no = library.dbo.adult.member_no;

7
Lab3/Task2.sql Normal file
View File

@@ -0,0 +1,7 @@
SELECT library.dbo.copy.isbn as 'isbn', library.dbo.copy.copy_no as 'copy', library.dbo.copy.on_loan as 'loan', library.dbo.title.title as 'title',
library.dbo.item.translation as 'translation', library.dbo.item.cover as 'cover'
FROM library.dbo.title
JOIN (library.dbo.copy JOIN library.dbo.item ON item.isbn = library.dbo.copy.isbn)
ON library.dbo.title.title_no = library.dbo.copy.title_no
WHERE library.dbo.item.isbn IN (1, 500, 1000)
ORDER BY isbn;

3
Lab3/Task3.sql Normal file
View File

@@ -0,0 +1,3 @@
SELECT CONCAT(lastname,' ',middleinitial,' ',firstname) as name, isbn, log_date
FROM library.dbo.member LEFT OUTER JOIN library.dbo.reservation ON library.dbo.member.member_no = library.dbo.reservation.member_no
WHERE library.dbo.member.member_no IN (250, 341, 1675) ORDER BY library.dbo.member.member_no;

13
Lab3/Task4.sql Normal file
View File

@@ -0,0 +1,13 @@
SELECT library.dbo.adult.member_no, COUNT(library.dbo.juvenile.member_no) as numkids
FROM library.dbo.adult
JOIN library.dbo.juvenile ON library.dbo.juvenile.adult_member_no = library.dbo.adult.member_no
WHERE state = 'AZ'
GROUP BY library.dbo.adult.member_no
HAVING COUNT(juvenile.member_no) > 2
UNION
SELECT library.dbo.adult.member_no, COUNT(library.dbo.juvenile.member_no) as numkids
FROM library.dbo.adult
JOIN library.dbo.juvenile ON library.dbo.juvenile.adult_member_no = library.dbo.adult.member_no
WHERE state = 'CA'
GROUP BY library.dbo.adult.member_no
HAVING COUNT(juvenile.member_no) > 3;

10
Lab4/Task1.sql Normal file
View File

@@ -0,0 +1,10 @@
INSERT INTO library.dbo.item (isbn, title_no, translation, cover, loanable) VALUES (10001, 8, 'ENGLISH', 'HARDBACK', 'Y');
INSERT INTO library.dbo.item (isbn, title_no, translation, cover, loanable) VALUES (10101, 8, 'ENGLISH', 'SOFTBACK', 'Y');
SELECT * FROM library.dbo.item ORDER BY isbn DESC;
INSERT INTO library.dbo.copy (isbn, copy_no, title_no, on_loan) VALUES (10001, 1, 8, 'N');
SELECT * FROM library.dbo.copy ORDER BY isbn DESC;
SELECT TOP 2 translation
FROM library.dbo.item
ORDER BY isbn DESC;

11
Lab4/Task2.sql Normal file
View File

@@ -0,0 +1,11 @@
USE library;
EXEC sp_help @objname = 'library.dbo.title'
INSERT INTO library.dbo.title (title, author, synopsis) VALUES ('The Art of Lawn Tennis', 'William T. Tilden', DEFAULT);
DELETE FROM library.dbo.title WHERE title_no = 54;
SELECT * FROM library.dbo.title ORDER BY title_no DESC;
SELECT TOP 1 title_no FROM library.dbo.title ORDER BY title_no DESC;
SELECT * FROM library.dbo.title WHERE title_no = (SELECT TOP 1 title_no FROM library.dbo.title ORDER BY title_no DESC) ORDER BY title_no DESC;
INSERT INTO library.dbo.title (title, author) VALUES ('Riders of the Purple Sage', 'Zane Grey');
SELECT * FROM library.dbo.title ORDER BY title_no DESC;

9
Lab4/Task3.sql Normal file
View File

@@ -0,0 +1,9 @@
USE library
CREATE TABLE sample1
(
Cust_id int NOT NULL IDENTITY(100, 5),
Name char(10) NULL
);
INSERT INTO sample1 DEFAULT VALUES;
SELECT * FROM sample1;

2
Lab4/Task4.sql Normal file
View File

@@ -0,0 +1,2 @@
SELECT * FROM library.dbo.item WHERE isbn = 10101;
DELETE FROM library.dbo.item WHERE isbn = 10101;

3
Lab4/Task5.sql Normal file
View File

@@ -0,0 +1,3 @@
UPDATE library.dbo.member SET lastname = 'Sivochub' WHERE member_no = 507;
SELECT * FROM library.dbo.member WHERE member_no = 507;
-- <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>: 507 Rudd Katie A NULL

58
Lab4/Task6.sql Normal file
View File

@@ -0,0 +1,58 @@
/*
USE library
BEGIN TRANSACTION
SET IDENTITY_INSERT member ON
INSERT member (member_no, lastname, firstname, middleinitial)
VALUES (16101, 'Walters', 'B.', 'L')
SET IDENTITY_INSERT member OFF
INSERT juvenile
VALUES (16101, 1, DATEADD(YY, -18, DATEADD(DD, -1, GETDATE()))) -- <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> 18 <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
COMMIT TRANSACTION;
*/
/*
SELECT juvenile.member_no, street, city, state, zip, phone_no, DATEADD(YY, 1, GETDATE())
FROM library.dbo.juvenile
JOIN library.dbo.adult
ON juvenile.adult_member_no = adult.member_no
WHERE birth_date <= DATEADD(YY, -18, GETDATE())
ORDER BY member_no;
*/
/*
INSERT INTO library.dbo.adult
SELECT juvenile.member_no, street, city, state, zip, phone_no, DATEADD(YY, 1, GETDATE())
FROM library.dbo.juvenile
JOIN library.dbo.adult
ON juvenile.adult_member_no = adult.member_no
WHERE birth_date <= DATEADD(YY, -18, GETDATE())
ORDER BY member_no;
SELECT * FROM library.dbo.adult WHERE member_no = 16101;
*/
/*
SELECT juvenile.member_no, adult.member_no
FROM library.dbo.juvenile
JOIN library.dbo.adult
ON juvenile.member_no = adult.member_no;
*/
/*
DELETE FROM library.dbo.juvenile
WHERE juvenile.member_no IN
(
SELECT juvenile.member_no, adult.member_no
FROM library.dbo.juvenile
JOIN library.dbo.adult
ON juvenile.member_no = adult.member_no
);
*/
/*
SELECT * FROM library.dbo.juvenile WHERE member_no = 16101;
*/

19
Lab5/Task1.sql Normal file
View File

@@ -0,0 +1,19 @@
SELECT adult_member_no, No_of_children, expr_date
FROM
(
SELECT adult_member_no, COUNT(member_no) AS No_of_children
FROM library.dbo.juvenile
GROUP BY adult_member_no
HAVING COUNT(member_no) > 3
) AS nested, library.dbo.adult
WHERE adult_member_no = member_no;
SELECT adult_member_no, No_of_children, expr_date
FROM
(
SELECT adult_member_no, COUNT(member_no) AS No_of_children
FROM library.dbo.juvenile
GROUP BY adult_member_no
HAVING COUNT(member_no) > 3
) AS nested JOIN library.dbo.adult
ON adult_member_no = member_no;

18
Lab5/Task2.sql Normal file
View File

@@ -0,0 +1,18 @@
SELECT DISTINCT firstname, lastname, isbn, fine_paid
FROM library.dbo.member
JOIN library.dbo.loanhist ON member.member_no = loanhist.member_no
WHERE fine_paid IN (SELECT MAX(fine_paid) FROM library.dbo.loanhist)
ORDER BY isbn;
SELECT title, title.title_no, reservation.isbn, COUNT(reservation.isbn) AS 'Total reserved'
FROM library.dbo.title
JOIN library.dbo.loan ON title.title_no = loan.title_no
JOIN library.dbo.reservation ON loan.isbn = reservation.isbn
WHERE title.title_no IN
(
SELECT title_no FROM library.dbo.loan
JOIN library.dbo.reservation ON loan.isbn = reservation.isbn
GROUP BY title_no
HAVING COUNT(reservation.isbn) < 5 OR COUNT(reservation.isbn) > 50
)
GROUP BY title, title.title_no, reservation.isbn

8
Lab5/Task3.sql Normal file
View File

@@ -0,0 +1,8 @@
SELECT member_no, lastname
FROM library.dbo.member
WHERE
(
SELECT SUM(fine_assessed)
FROM library.dbo.loanhist
WHERE member.member_no = loanhist.member_no
) > 5;

10
Lab6/Task1.sql Normal file
View File

@@ -0,0 +1,10 @@
USE AdventureWorks
CREATE TABLE HumanResources.JobCandidateHistory
(
JobCandidateID int NOT NULL UNIQUE,
Resume xml NULL,
Rating int NOT NULL CONSTRAINT CK_JobCandidateHistory_Rating CHECK(Rating BETWEEN 1 AND 10) CONSTRAINT DF_JobCandidateHistory_Rating DEFAULT 5,
RejectDate datetime NOT NULL,
ContactID int NULL,
FOREIGN KEY (ContactID) REFERENCES Person.Contact(ContactID)
);

16
Lab6/Task1_1.sql Normal file
View File

@@ -0,0 +1,16 @@
-- This should fail
USE AdventureWorks
TRUNCATE TABLE [HumanResources].[JobCandidateHistory]
GO
USE AdventureWorks
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(1,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,-1
,GETDATE()
,1)
TRUNCATE TABLE [HumanResources].[JobCandidateHistory]
GO

13
Lab6/Task1_2.sql Normal file
View File

@@ -0,0 +1,13 @@
-- This should succeed
USE AdventureWorks
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(1,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
TRUNCATE TABLE [HumanResources].[JobCandidateHistory]
GO

10
Lab6/Task2.sql Normal file
View File

@@ -0,0 +1,10 @@
USE AdventureWorks
GO
ALTER TABLE HumanResources.JobCandidateHistory
NOCHECK CONSTRAINT CK_JobCandidateHistory_Rating
GO
/*
ALTER TABLE HumanResources.JobCandidateHistory
NOCHECK CONSTRAINT DF_JobCandidateHistory_Rating
GO
*/

404
Lab6/Task2_1.sql Normal file
View File

@@ -0,0 +1,404 @@
USE [AdventureWorks]
-- Insert the test data
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(1,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(2,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(3,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(4,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(5,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(6,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(7,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(8,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(9,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(10,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(11,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(12,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(13,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(14,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(15,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(16,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(17,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(18,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(19,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(20,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(21,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(22,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(23,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(24,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(25,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(26,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(27,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(28,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(29,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(30,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(31,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(32,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(33,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(34,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(35,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(36,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(37,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(38,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(39,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(40,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
TRUNCATE TABLE HumanResources.JobCandidateHistory

11
Lab6/Task2_2.sql Normal file
View File

@@ -0,0 +1,11 @@
USE AdventureWorks
GO
ALTER TABLE HumanResources.JobCandidateHistory
CHECK CONSTRAINT CK_JobCandidateHistory_Rating
GO
/*
ALTER TABLE HumanResources.JobCandidateHistory
CHECK CONSTRAINT DF_JobCandidateHistory_Rating
GO
*/
INSERT INTO HumanResources.JobCandidateHistory (Rating) VALUES (20); --<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

43
Lab7/Task1and2.sql Normal file
View File

@@ -0,0 +1,43 @@
USE AdventureWorks;
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
GO
CREATE VIEW HumanResources.vEmployeeDetails
WITH SCHEMABINDING AS
SELECT
e.EmployeeID
,c.Title
,c.FirstName
,c.MiddleName
,c.LastName
,c.Suffix
,e.Title AS JobTitle
,c.Phone
,c.EmailAddress
,c.EmailPromotion
,a.AddressLine1
,a.AddressLine2
,a.City
,sp.Name AS StateProvinceName
,a.PostalCode
,cr.Name AS CountryRegionName
,c.AdditionalContactInfo
FROM HumanResources.Employee e
INNER JOIN Person.Contact c
ON c.ContactID = e.ContactID
INNER JOIN HumanResources.EmployeeAddress ea
ON e.EmployeeID = ea.EmployeeID
INNER JOIN Person.Address a
ON ea.AddressID = a.AddressID
INNER JOIN Person.StateProvince sp
ON sp.StateProvinceID = a.StateProvinceID
INNER JOIN Person.CountryRegion cr
ON cr.CountryRegionCode = sp.CountryRegionCode;
GO
SELECT * FROM HumanResources.vEmployeeDetails;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2
GO
CREATE UNIQUE CLUSTERED INDEX IX_vEmployeeDetails
ON HumanResources.vEmployeeDetails (EmployeeID);

6
Lab7/Task3.sql Normal file
View File

@@ -0,0 +1,6 @@
USE AdventureWorks;
GO
EXEC sp_depends @objname="HumanResources.vEmployeeDetails";
GO
EXEC sp_helptext @objname="HumanResources.vEmployeeDetails";

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,35 @@
USE AW_Marketing
GO
CREATE SCHEMA Promotions
CREATE TABLE ProductDiscounts
(ProductID int PRIMARY KEY,
Discount decimal,
Description nvarchar(50))
ON CurrentData
GO
CREATE SCHEMA Sponsorship
CREATE TABLE SponsorshipDeals
(SponsorshipID int IDENTITY PRIMARY KEY,
Description nvarchar(200))
ON CurrentData
GO
CREATE SCHEMA PastPromotions
CREATE TABLE ProductDiscounts
(ProductID int,
Discount decimal,
Description nvarchar(50))
ON ArchivedData
GO
CREATE SCHEMA PastSponsorship
CREATE TABLE SponsorshipDeals
(SponsorshipID int,
Description nvarchar(200))
ON ArchivedData
GO

View File

@@ -0,0 +1,34 @@
USE AW_Marketing
GO
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IF EXISTS (SELECT * FROM sys.tables t
JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE t.[Name] = 'SpecialOffers'
AND s.[Name] = 'Promotions')
DROP TABLE Promotions.SpecialOffers
IF EXISTS (SELECT * FROM sys.tables t
JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE t.[Name] = 'SpecialOffers'
AND s.[Name] = 'PastPromotions')
DROP TABLE PastPromotions.SpecialOffers
GO
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> filegroup
CREATE TABLE Promotions.SpecialOffers
(OfferID int IDENTITY PRIMARY KEY,
Description nvarchar(200),
StartDate datetime,
EndDate datetime,
DiscountPercent decimal)
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ArchivedData filegroup
CREATE TABLE PastPromotions.SpecialOffers
(OfferID int IDENTITY PRIMARY KEY,
Description nvarchar(200),
StartDate datetime,
EndDate datetime,
DiscountPercent decimal)
ON ArchivedData

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" ?>
<DeliveryList>
<Delivery SalesOrderID="43659">
<CustomerName>Steve Schmidt</CustomerName>
<Address>6126 North Sixth Street, Rockhampton</Address>
</Delivery>
<Delivery SalesOrderID="43660">
<CustomerName>Tony Lopez</CustomerName>
<Address>6445 Cashew Street, Rockhampton</Address>
</Delivery>
</DeliveryList>

View File

@@ -0,0 +1,47 @@
USE AdventureWorks
GO
-- Create Sales.GetCurrencyRate
-- Test Sales.GetCurrencyRate
-- Sales.GetCurrencyDiscountedProducts
CREATE FUNCTION Sales.GetCurrencyDiscountedProducts
(@CurrencyCode nchar(3))
RETURNS @tbl_products TABLE
(ProductID int,
Name nvarchar(50),
ListPrice money,
CurrencyPrice money,
DiscountDescription nvarchar(255),
DiscountPercentage smallmoney,
DiscountAmount money,
DiscountedPrice money,
DiscountedCurrencyPrice money)
AS
BEGIN
DECLARE @CurrencyRate float
SET @CurrencyRate = Sales.GetCurrencyRate(@CurrencyCode)
INSERT @tbl_products
SELECT P.ProductID,
P.Name,
P.ListPrice,
P.ListPrice * @CurrencyRate,
SO.Description,
SO.DiscountPct,
P.ListPrice * SO.DiscountPct,
P.ListPrice - P.ListPrice * SO.DiscountPct,
(P.ListPrice - P.ListPrice * SO.DiscountPct) * @CurrencyRate
FROM Sales.SpecialOfferProduct SOP INNER JOIN
Sales.SpecialOffer SO ON SOP.SpecialOfferID = SO.SpecialOfferID INNER JOIN
Production.Product P ON SOP.ProductID = P.ProductID
WHERE (SO.DiscountPct > 0) AND GetDate() BETWEEN StartDate AND EndDate
ORDER BY ProductID
RETURN
END
GO
-- Test Sales.GetCurrencyDiscountedProducts

Binary file not shown.

View File

@@ -0,0 +1,26 @@
Use Master
-- Setup user for execution context
IF NOT EXISTS (SELECT * FROM sys.syslogins WHERE name = 'MIAMI\Adam')
CREATE LOGIN [MIAMI\Adam]
FROM WINDOWS
WITH DEFAULT_DATABASE = AdventureWorks
GO
Use AdventureWorks
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'Adam' AND type = 'U')
CREATE USER Adam FOR LOGIN [MIAMI\Adam]
GO
-- Setup data
UPDATE Sales.SpecialOffer
SET StartDate = DateAdd(day, -1, GetDate()),
EndDate = DateAdd(day, 27, GetDate())
WHERE SpecialOfferId IN (1,3,5,7,9,11,13,15)
UPDATE Sales.SpecialOffer
SET StartDate = DateAdd(day, 28, GetDate()),
EndDate = DateAdd(month, 2, GetDate())
WHERE SpecialOfferId IN (2,4,6,8,10,12,14,16)
GO

View File

@@ -0,0 +1,404 @@
USE [AdventureWorks]
-- Insert the test data
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(1,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(2,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(3,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(4,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(5,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(6,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(7,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(8,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(9,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(10,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(11,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(12,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(13,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(14,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(15,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(16,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(17,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(18,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(19,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(20,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(21,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(22,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(23,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(24,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(25,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(26,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(27,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(28,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(29,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(30,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(31,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(32,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(33,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(34,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(35,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(36,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(37,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(38,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(39,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(40,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
GO
TRUNCATE TABLE HumanResources.JobCandidateHistory

View File

@@ -0,0 +1,16 @@
/*
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

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

View File

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

Binary file not shown.

View File

@@ -0,0 +1,30 @@
-- This should fail
USE AdventureWorks
TRUNCATE TABLE [HumanResources].[JobCandidateHistory]
GO
USE AdventureWorks
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(1,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,-1
,GETDATE()
,1)
TRUNCATE TABLE [HumanResources].[JobCandidateHistory]
GO
-- This should succeed
USE AdventureWorks
INSERT INTO [HumanResources].[JobCandidateHistory]
VALUES
(1,
'<ns:Resume xmlns:ns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume">
<ns:ResumeData></ns:ResumeData>
</ns:Resume>'
,6
,GETDATE()
,1)
TRUNCATE TABLE [HumanResources].[JobCandidateHistory]
GO

View File

@@ -0,0 +1,20 @@
/*
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'

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'