2. Introduction
The purpose of this document is to illustrate various database operations that can be performed on Microsoft SQL Server including object
creations like tables and views along with data mainpulations with join operations like inner joins and functions both built in and user defined
functions.
Development Tools
Database Platform: Microsoft SQL Server 2008R2
Applications: Microsot Excel and Power Pivot, Microsoft SQL Server Business Intelligence Development Studio, Microsoft SQL Server Reporting Services
3. The date formats specified in the query statement outputmay be different from the ones represented in the table because Microsoft Excel PowerPiviot did an automatic convertation. The
original query from MS SQL Server would have occupied many pages when not presented in a table format. In some currency related data the dollar symbol were added in Excel to make it
easier to read.
USE DB665
SELECT top(25)CUST_NO,DOB AS DATE_OF_BIRTH,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
FROM dbo.CUSTOMER_DIM009;
CUST_NO DATE_OF_BIRTH CUSTOMER_NAME
----------- ----------------------- -----------------------------------------------------------------------------------------------------
13886 1970-09-26 00:00:00.000 Rachel,Taylor
13887 1970-10-12 00:00:00.000 Nathan,Scott
13888 1967-11-06 00:00:00.000 Ian,Brown
13889 1966-08-10 00:00:00.000 Robert,Martin
13890 1966-09-16 00:00:00.000 Jennifer,Carter
13891 1966-12-07 00:00:00.000 Aaron,Simmons
13892 1966-11-25 00:00:00.000 Spencer,Diaz
13893 1966-08-14 00:00:00.000 Dalton,Carter
13894 1969-02-25 00:00:00.000 Robyn,Ruiz
13895 1969-12-25 00:00:00.000 Isabella,Brooks
13896 1969-10-10 00:00:00.000 Hailey,Mitchell
13897 1969-11-24 00:00:00.000 Carol,Washington
13898 1969-10-11 00:00:00.000 Richard,Baker
13899 1969-08-17 00:00:00.000 Cameron,Jones
13900 1969-04-13 00:00:00.000 Isaac,Campbell
13901 1969-10-21 00:00:00.000 Oscar,Foster
13902 1969-03-18 00:00:00.000 Jeremiah,Simmons
13903 1969-11-27 00:00:00.000 Elijah,Hernandez
13904 1969-03-09 00:00:00.000 Natalie,Thompson
13905 1969-03-07 00:00:00.000 Christian,Henderson
13906 1965-06-25 00:00:00.000 Courtney,Evans
13907 1965-02-22 00:00:00.000 Misty,Xie
13908 1965-07-20 00:00:00.000 Alyssa,Diaz
13909 1965-01-21 00:00:00.000 Riley,Price
13910 1965-03-09 00:00:00.000 Isabelle,Butler
(25 row(s) affected)
SELECT TOP(12)CUST_NO,CONVERT(DATE, DOB)AS DATE_OF_BIRTH,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
FROM dbo.CUSTOMER_DIM009;
CUST_NO DATE_OF_BIRTH CUSTOMER_NAME
13886 9/26/1970 Rachel,Taylor
13887 10/12/1970 Nathan,Scott
13888 11/6/1967 Ian,Brown
13889 8/10/1966 Robert,Martin
13890 9/16/1966 Jennifer,Carter
13891 12/7/1966 Aaron,Simmons
13892 11/25/1966 Spencer,Diaz
13893 8/14/1966 Dalton,Carter
4. 13894 2/25/1969 Robyn,Ruiz
13895 12/25/1969 Isabella,Brooks
13896 10/10/1969 Hailey,Mitchell
13897 11/24/1969 Carol,Washington
(12 row(s) affected)
SELECT TOP(12)CUST_NO,CONVERT(DATE, DOB)AS DATE_OF_BIRTH,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
FROM dbo.CUSTOMER_DIM009
ORDER BY CUSTOMER_NAME;
CUST_NO DATE_OF_BIRTH CUSTOMER_NAME
28866 2/5/1974 Aaron,Adams
20285 10/21/1976 Aaron,Alexander
20075 5/18/1953 Aaron,Allen
17862 3/18/1960 Aaron,Baker
12067 11/14/1944 Aaron,Bryant
21414 6/7/1974 Aaron,Butler
21151 12/22/1967 Aaron,Campbell
27916 3/19/1974 Aaron,Carter
28187 11/13/1959 Aaron,Chen
16749 5/10/1974 Aaron,Coleman
27663 9/24/1960 Aaron,Collins
18695 11/4/1969 Aaron,Diaz
(12 row(s) affected)
SELECT TOP(12)CUST_NO,CONVERT(DATE, DOB)AS DATE_OF_BIRTH,DATEDIFF(YY, DOB, CURRENT_TIMESTAMP) AS AGE, GENDER,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
FROM dbo.CUSTOMER_DIM009;
CUST_NO DATE_OF_BIRTH AGE GENDER CUSTOMER_NAME
13886 9/26/1970 41 F Rachel,Taylor
13887 10/12/1970 41 M Nathan,Scott
13888 11/6/1967 44 M Ian,Brown
13889 8/10/1966 45 M Robert,Martin
13890 9/16/1966 45 F Jennifer,Carter
13891 12/7/1966 45 M Aaron,Simmons
13892 11/25/1966 45 M Spencer,Diaz
13893 8/14/1966 45 M Dalton,Carter
13894 2/25/1969 42 F Robyn,Ruiz
13895 12/25/1969 42 F Isabella,Brooks
13896 10/10/1969 42 F Hailey,Mitchell
13897 11/24/1969 42 M Carol,Washington
5. (12 row(s) affected)
SELECT CUST_NO,CONVERT(DATE, DOB)AS DATE_OF_BIRTH,DATEDIFF(YY, DOB, CURRENT_TIMESTAMP) AS AGE, GENDER,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
INTO
CUSTOMER_NOT_50
FROM dbo.CUSTOMER_DIM009
WHERE DATEDIFF(YY, DOB, CURRENT_TIMESTAMP) < 50;
(10215 row(s) affected)
SELECT CUST_NO,CONVERT(DATE, DOB)AS DATE_OF_BIRTH,DATEDIFF(YY, DOB, CURRENT_TIMESTAMP) AS AGE, GENDER,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
INTO
CUSTOMER_50_ABOVE
FROM dbo.CUSTOMER_DIM009
WHERE DATEDIFF(YY, DOB, CURRENT_TIMESTAMP) >=50;
(8269 row(s) affected)
SELECT TOP(29)CUST_NO, DATE_OF_BIRTH, AGE, GENDER,
CUSTOMER_NAME
FROM
CUSTOMER_NOT_50;
CUST_NO DATE_OF_BIRTH AGE GENDER CUSTOMER_NAME
13886 9/26/1970 41 F Rachel,Taylor
13887 10/12/1970 41 M Nathan,Scott
13888 11/6/1967 44 M Ian,Brown
13889 8/10/1966 45 M Robert,Martin
13890 9/16/1966 45 F Jennifer,Carter
13891 12/7/1966 45 M Aaron,Simmons
13892 11/25/1966 45 M Spencer,Diaz
13893 8/14/1966 45 M Dalton,Carter
13894 2/25/1969 42 F Robyn,Ruiz
13895 12/25/1969 42 F Isabella,Brooks
13896 10/10/1969 42 F Hailey,Mitchell
13897 11/24/1969 42 M Carol,Washington
13898 10/11/1969 42 M Richard,Baker
13899 8/17/1969 42 M Cameron,Jones
13900 4/13/1969 42 M Isaac,Campbell
13901 10/21/1969 42 M Oscar,Foster
13902 3/18/1969 42 M Jeremiah,Simmons
6. 13903 11/27/1969 42 M Elijah,Hernandez
13904 3/9/1969 42 F Natalie,Thompson
13905 3/7/1969 42 M Christian,Henderson
13906 6/25/1965 46 F Courtney,Evans
13907 2/22/1965 46 F Misty,Xie
13908 7/20/1965 46 F Alyssa,Diaz
13909 1/21/1965 46 F Riley,Price
13910 3/9/1965 46 F Isabelle,Butler
13911 5/26/1965 46 F Andrea,Kelly
13912 3/20/1965 46 F Caroline,Simmons
13913 9/18/1965 46 F Angela,Rogers
13914 10/23/1964 47 F Abigail,Bell
SELECT TOP(29)CUST_NO, DATE_OF_BIRTH, AGE, GENDER,
CUSTOMER_NAME
FROM
CUSTOMER_50_ABOVE;
CUST_NO DATE_OF_BIRTH AGE GENDER CUSTOMER_NAME
11311 8/24/1953 58 F Gabrielle,Lopez
11312 4/3/1953 58 F Sara,Richardson
11313 2/27/1953 58 M Trevor,Jenkins
11314 12/21/1953 58 F Mya,Flores
11315 10/1/1953 58 F Hailey,Ward
11316 11/17/1953 58 M Luke,Allen
11317 9/17/1952 59 F Victoria,Russell
11318 10/26/1952 59 F Jessica,Wilson
11319 4/27/1937 74 F Jade,Bailey
11320 6/26/1937 74 F Morgan,Hill
11321 7/8/1938 73 M Terrance,Raman
11322 3/15/1938 73 F Sydney,Garcia
11323 6/20/1938 73 M Jose,Patterson
11324 5/14/1939 72 M Zachary,Anderson
11325 7/2/1939 72 M Elijah,Ross
11326 6/26/1939 72 M Rafael,Xie
7. 11327 3/4/1940 71 M Jaime,Moreno
11328 1/1/1940 71 M Julian,Griffin
11329 7/25/1940 71 M Andy,Alvarez
11330 5/13/1940 71 M Ryan,Thompson
11334 3/22/1961 50 F Nicole,Brown
11335 6/24/1961 50 F Carla,Raman
11337 9/21/1961 50 M Jerome,Romero
11338 8/10/1961 50 M Frank,Navarro
11339 7/8/1961 50 M Dennis,She
11340 4/6/1936 75 F Melody,Munoz
11341 8/21/1936 75 M Randy,Zeng
11343 9/13/1958 53 M Arthur,Carlson
11344 7/24/1957 54 F Jessie,Jimenez
(29 row(s) affected)
select salter.SalesTerritoryKey as sale_territory_code, ltime.Fiscal_Year, ROUND(sum(final_amount),2) as total_amount
from dbo.SALES_TERRITORY_DIM salter inner join dbo.sales_fact sal
on salter.SalesTerritoryKey = sal.TERRITORY_KEY
inner join dbo.time_dim_new ltime
on ltime.time_id = sal.Time_ID
where final_amount is not null
group by rollup(salter.SalesTerritoryKey,ltime.Fiscal_Year);
sale_territory_code Fiscal_Year total_amount
1 2002 $1,023,044.20
1 2003 $684,599.94
1 2004 $2,314,226.18
1 2005 $11,232.62
1 $4,033,102.93
2 2003 $2,264.25
2 2004 $4,954.12
2 $7,218.38
3 2003 $2,288.92
3 2004 $1,027.00
3 $3,315.92
4 2002 $1,686,610.40
4 2003 $891,724.97
4 2004 $3,730,105.20
4 2005 $10,116.62
4 $6,318,557.19
5 2003 $4,019.33
5 2004 $9,378.68
5 2005 $125.93
5 $13,523.93
6 2002 $633,276.58
6 2003 $337,036.82
6 2004 $1,203,212.14
6 2005 $11,993.36
8. 6 $2,185,518.90
7 2002 $457,741.08
7 2003 $699,906.68
7 2004 $1,760,133.46
7 2005 $3,858.61
7 $2,921,639.83
8 2002 $567,255.27
8 2003 $655,538.22
8 2004 $1,971,438.57
8 2005 $3,983.34
8 $3,198,215.39
9 2002 $2,838,415.07
9 2003 $2,320,041.95
9 2004 $4,843,745.40
9 2005 $10,203.84
9 $10,012,406.26
10 2002 $608,310.61
10 2003 $769,737.46
10 2004 $2,365,129.58
10 2005 $4,664.67
10 $3,747,842.32
$32,441,341.06
(46 row(s) affected)
select t.CalendarQuarter, salter.SalesTerritoryCountry as SALES_REGION, ROUND(sum(final_amount), 2)
AS final_amount
from dbo.SALES_TERRITORY_DIM salter inner join dbo.sales_fact sal
on salter.SalesTerritoryKey = sal.TERRITORY_KEY
inner join dbo.TIME_DIM t
on sal.Time_ID = t.TimeKey
where t.CalendarQuarter is not null
group by CUBE(t.CalendarQuarter,salter.SalesTerritoryCountry);
CalendarQuarter SALES_REGION final_amount
1 Australia $ 2,658,668.77
2 Australia $ 2,887,612.75
3 Australia $ 1,965,983.09
4 Australia $ 2,500,141.66
Australia $ 10,012,406.26
1 Canada $ 656,549.83
2 Canada $ 668,041.62
3 Canada $ 419,995.24
4 Canada $ 440,932.20
Canada $ 2,185,518.90
1 France $ 718,900.01
2 France $ 943,563.82
3 France $ 580,171.70
4 France $ 679,004.30
France $ 2,921,639.83
1 Germany $ 815,826.11
2 Germany $ 1,058,738.81
3 Germany $ 580,568.72
4 Germany $ 743,081.76
Germany $ 3,198,215.39
1 United
Kingdom
$ 984,242.73
2 United
Kingdom
$ 1,036,699.23
3 United
Kingdom
$ 776,231.37
4 United
Kingdom
$ 950,668.99
United $ 3,747,842.32
9. Kingdom
1 United
States
$ 2,441,002.12
2 United
States
$ 3,432,570.22
3 United
States
$ 1,915,369.50
4 United
States
$ 2,586,776.52
United
States
$ 10,375,718.35
$ 32,441,341.06
1 $ 8,275,189.57
2 $ 10,027,226.44
3 $ 6,238,319.62
4 $ 7,900,605.43
IF OBJECT_ID ('dbo.customers', 'V') IS NOT NULL
DROP VIEW dbo.customers ;
GO
CREATE VIEW dbo.customers WITH ENCRYPTION
AS
SELECT C.CUSTOMERKEY AS CUST_NO, C.FirstName + ','+C.LASTNAME AS CUSTOMER_Name, G.City, G.PostalCode, G.StateProvinceCode AS STATE_CODE, G.StateProvinceName AS STATE_NAME
, G.CountryRegionCode AS COUNTRY_CODE, G.EnglishCountryRegionName AS COUNTRY_NAME
FROM DBO.DimCustomer C
INNER JOIN
DBO.DimGeography G
ON C.GeographyKey = G.GeographyKey
with check
use AdventureWorksDW
use AdventureWorksDW
select top(40)cust_no, upper (customer_name) as Customer_Name, city, postalcode, state_code, state_name, country_name, country_code from dbo.customers;
cust_no Customer_Name city postalcode state_code state_name country_name country_code
11000 JON,YANG Rockhampton 4700 QLD Queensland Australia AU
11001 EUGENE,HUANG Seaford 3198 VIC Victoria Australia AU
11002 RUBEN,TORRES Hobart 7001 TAS Tasmania Australia AU
11003 CHRISTY,ZHU North Ryde 2113 NSW New South
Wales
Australia AU
11004 ELIZABETH,JOHNSON Wollongong 2500 NSW New South
Wales
Australia AU
11005 JULIO,RUIZ East
Brisbane
4169 QLD Queensland Australia AU
11006 JANET,ALVAREZ Matraville 2036 NSW New South
Wales
Australia AU
11007 MARCO,MEHTA Warrnambool 3280 VIC Victoria Australia AU
11008 ROB,VERHOFF Bendigo 3550 VIC Victoria Australia AU
11009 SHANNON,CARLSON Hervey Bay 4655 QLD Queensland Australia AU
10. 11010 JACQUELYN,SUAREZ East
Brisbane
4169 QLD Queensland Australia AU
11011 CURTIS,LU East
Brisbane
4169 QLD Queensland Australia AU
11012 LAUREN,WALKER Bremerton 98312 WA Washington United
States
US
11013 IAN,JENKINS Lebanon 97355 OR Oregon United
States
US
11014 SYDNEY,BENNETT Redmond 98052 WA Washington United
States
US
11015 CHLOE,YOUNG Burbank 91502 CA California United
States
US
11016 WYATT,HILL Imperial
Beach
91932 CA California United
States
US
11017 SHANNON,WANG Sunbury 3429 VIC Victoria Australia AU
11018 CLARENCE,RAI Bendigo 3550 VIC Victoria Australia AU
11019 LUKE,LAL Langley V3A 4R2 BC British
Columbia
Canada CA
11020 JORDAN,KING Metchosin V9 BC British
Columbia
Canada CA
11021 DESTINY,WILSON Beaverton 97005 OR Oregon United
States
US
11022 ETHAN,ZHANG Bellingham 98225 WA Washington United
States
US
11023 SETH,EDWARDS Bellflower 90706 CA California United
States
US
11024 RUSSELL,XIE Concord 94519 CA California United
States
US
11025 ALEJANDRO,BECK Hawthorne 4171 QLD Queensland Australia AU
11026 HAROLD,SAI Goulburn 2580 NSW New South
Wales
Australia AU
11027 JESSIE,ZHAO Warrnambool 3280 VIC Victoria Australia AU
11028 JILL,JIMENEZ St.
Leonards
2065 NSW New South
Wales
Australia AU
11029 JIMMY,MORENO Bendigo 3550 VIC Victoria Australia AU
11030 BETHANY,YUAN Cloverdale 6105 SA South
Australia
Australia AU
11031 THERESA,RAMOS Matraville 2036 NSW New South
Wales
Australia AU
11032 DENISE,STONE Melbourne 3000 VIC Victoria Australia AU
11033 JAIME,NATH Milsons
Point
2061 NSW New South
Wales
Australia AU
11034 EBONY,GONZALEZ North
Sydney
2055 NSW New South
Wales
Australia AU
11035 WENDY,DOMINGUEZ Cranbourne 3977 VIC Victoria Australia AU
11036 JENNIFER,RUSSELL National
City
91950 CA California United
States
US
11037 CHLOE,GARCIA Cliffside V8Y 1L1 BC British
Columbia
Canada CA
11038 DIANA,HERNANDEZ Lavender
Bay
2060 NSW New South
Wales
Australia AU
11. 11039 MARC,MARTIN Wollongong 2500 NSW New South
Wales
Australia AU
use AdventureWorksDW
IF OBJECT_ID ('dbo.customers1', 'V') IS NOT NULL
DROP VIEW dbo.customers1 ;
GO
CREATE VIEW dbo.customers1 WITH ENCRYPTION
AS
SELECT C.CUSTOMERKEY AS CUST_NO, C.FirstName + ','+C.LASTNAME AS CUSTOMER_Name, G.City, G.PostalCode, G.StateProvinceCode AS STATE_CODE, G.StateProvinceName AS STATE_NAME
, G.CountryRegionCode AS COUNTRY_CODE, G.EnglishCountryRegionName AS COUNTRY_NAME,
t.SalesTerritoryCountry as Sales_Territory_Country, t.SalesTerritoryGroup as Sales_Territory_Group,
t.SalesTerritoryRegion as Sales_Territory_Region
FROM DBO.DimCustomer C
INNER JOIN
DBO.DimGeography G
ON C.GeographyKey = G.GeographyKey
inner join dbo.DimSalesTerritory t
on g.SalesTerritoryKey = t.SalesTerritoryKey
with check option;
use AdventureWorksDW
select top(34) * from dbo.customers1 ;
CUST_N
O
CUSTOMER_Name City PostalCod
e
STATE_COD
E
STATE_NAM
E
COUNTRY_COD
E
COUNTRY_NAM
E
Sales_Territory_Countr
y
Sales_Territory_Grou
p
Sales_Territory_Regio
n
11000 Jon,Yang Rockhampto
n
4700 QLD Queenslan
d
AU Australia Australia Pacific Australia
11001 Eugene,Huang Seaford 3198 VIC Victoria AU Australia Australia Pacific Australia
11002 Ruben,Torres Hobart 7001 TAS Tasmania AU Australia Australia Pacific Australia
11003 Christy,Zhu North Ryde 2113 NSW New South
Wales
AU Australia Australia Pacific Australia
11004 Elizabeth,Johnso
n
Wollongong 2500 NSW New South
Wales
AU Australia Australia Pacific Australia
11005 Julio,Ruiz East
Brisbane
4169 QLD Queenslan
d
AU Australia Australia Pacific Australia
11006 Janet,Alvarez Matraville 2036 NSW New South
Wales
AU Australia Australia Pacific Australia
11007 Marco,Mehta Warrnamboo
l
3280 VIC Victoria AU Australia Australia Pacific Australia
11008 Rob,Verhoff Bendigo 3550 VIC Victoria AU Australia Australia Pacific Australia
11009 Shannon,Carlson Hervey Bay 4655 QLD Queenslan
d
AU Australia Australia Pacific Australia
11010 Jacquelyn,Suarez East
Brisbane
4169 QLD Queenslan
d
AU Australia Australia Pacific Australia
11011 Curtis,Lu East
Brisbane
4169 QLD Queenslan
d
AU Australia Australia Pacific Australia
11012 Lauren,Walker Bremerton 98312 WA Washingto
n
US United
States
United States North America Northwest
11013 Ian,Jenkins Lebanon 97355 OR Oregon US United
States
United States North America Northwest
11014 Sydney,Bennett Redmond 98052 WA Washingto
n
US United
States
United States North America Northwest
11015 Chloe,Young Burbank 91502 CA Californi
a
US United
States
United States North America Southwest
11016 Wyatt,Hill Imperial
Beach
91932 CA Californi
a
US United
States
United States North America Southwest
11017 Shannon,Wang Sunbury 3429 VIC Victoria AU Australia Australia Pacific Australia
11018 Clarence,Rai Bendigo 3550 VIC Victoria AU Australia Australia Pacific Australia
11019 Luke,Lal Langley V3A 4R2 BC British
Columbia
CA Canada Canada North America Canada
11020 Jordan,King Metchosin V9 BC British
Columbia
CA Canada Canada North America Canada
11021 Destiny,Wilson Beaverton 97005 OR Oregon US United
States
United States North America Northwest
11022 Ethan,Zhang Bellingham 98225 WA Washingto
n
US United
States
United States North America Northwest
12. 11023 Seth,Edwards Bellflower 90706 CA Californi
a
US United
States
United States North America Southwest
11024 Russell,Xie Concord 94519 CA Californi
a
US United
States
United States North America Southwest
11025 Alejandro,Beck Hawthorne 4171 QLD Queenslan
d
AU Australia Australia Pacific Australia
11026 Harold,Sai Goulburn 2580 NSW New South
Wales
AU Australia Australia Pacific Australia
11027 Jessie,Zhao Warrnamboo
l
3280 VIC Victoria AU Australia Australia Pacific Australia
11028 Jill,Jimenez St.
Leonards
2065 NSW New South
Wales
AU Australia Australia Pacific Australia
11029 Jimmy,Moreno Bendigo 3550 VIC Victoria AU Australia Australia Pacific Australia
11030 Bethany,Yuan Cloverdale 6105 SA South
Australia
AU Australia Australia Pacific Australia
11031 Theresa,Ramos Matraville 2036 NSW New South
Wales
AU Australia Australia Pacific Australia
11032 Denise,Stone Melbourne 3000 VIC Victoria AU Australia Australia Pacific Australia
11033 Jaime,Nath Milsons
Point
2061 NSW New South
Wales
AU Australia Australia Pacific Australia
select c.CustomerKey as cust_no, c.FirstName + ',' + c.lastname as customer_name, f.SalesOrderNumber,
f.UnitPrice, f.Freight, f.OrderQuantity, f.DiscountAmount, f.UnitPriceDiscountPct
, f.UnitPrice * f.OrderQuantity + f.Freight - f.UnitPriceDiscountPct as Final_Amount, f.ProductKey
into customer_records
from FactInternetSales f right outer join
dbo.DimCustomer c
on
c.CustomerKey = f.CustomerKey
(60398 row(s) affected)
use AdventureWorksDW
select top(15)cust_no, customer_name, SalesOrderNumber,
UnitPrice,Freight, OrderQuantity, DiscountAmount,UnitPriceDiscountPct
, Final_Amount,ProductKey
from customer_records
cust_no customer_name SalesOrderNumber UnitPrice Freight OrderQuantity DiscountAmount UnitPriceDiscountPct Final_Amount ProductKey
11003 Christy,Zhu SO43701 $3,399.99 $85.00 1 $0.00 $0.00 $3,484.99 346
14501 Ruben,Prasad SO43700 $699.10 $17.48 1 $0.00 $0.00 $716.58 336
21768 Cole,Watson SO43697 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 310
25863 Sydney,Wright SO43699 $3,399.99 $85.00 1 $0.00 $0.00 $3,484.99 346
28389 Rachael,Martinez SO43698 $3,399.99 $85.00 1 $0.00 $0.00 $3,484.99 346
11005 Julio,Ruiz SO43704 $3,374.99 $84.37 1 $0.00 $0.00 $3,459.36 351
11011 Curtis,Lu SO43705 $3,399.99 $85.00 1 $0.00 $0.00 $3,484.99 344
16624 Albert,Alvarez SO43703 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 310
27645 Colin,Anand SO43702 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 311
16351 Martha,Xu SO43709 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 313
16517 Katrina,Raji SO43710 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 314
20042 Brad,Deng SO43708 $699.10 $17.48 1 $0.00 $0.00 $716.58 330
27616 Emma,Brown SO43707 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 312
27621 Edward,Brown SO43706 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 312
13513 Abigail,Henderson SO43712 $3,578.27 $89.46 1 $0.00 $0.00 $3,667.73 311
USE AdventureWorks
SELECT
TOP(20)C.ContactID ,C.Title, C.FirstName + '.'+ C.MiddleName +'.' +C.LastName AS EMPLOYEE, SUBSTRING(C.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(C.Phone,-7,11)AS AREA_CODE, C.Phone,
E.Title as Job_Title, E.Gender,CONVERT(DATE, E.BirthDate)AS BIRTH_DAY, DATEDIFF(YY, E.BirthDate, CURRENT_TIMESTAMP) AS AGE, CONVERT (DATE,E.HireDate) AS HIRE_DATE,
DATEDIFF(YY, E.HIREDATE, CURRENT_TIMESTAMP) AS NUM_YERS_EMPLOYEED, E.ManagerID
, (E.EMPLOYEEID) AS EMP_ID
FROM
13. Person.Contact C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E .ContactID
ContactID Title EMPLOYEE PHONE_NUMBER AREA_CODE Phone Job_Title Gender BIRTH_DAY AGE HIRE_DATE NUM_YERS
_EMPLOYEED
Manager
ID
EMP_ID
1209 Mr Guy.R.Gilbert 555-0195 320 320-555-
0195
Production
Technician -
WC60
M 5/15/1972 39 7/31/1996 15 16 1
1030 Mr Kevin.F.Brown 555-0189 150 150-555-
0189
Marketing
Assistant
M 6/3/1977 34 2/26/1997 14 6 2
1002 555-0187 212 212-555-
0187
Engineering
Manager
M 12/13/1964 47 12/12/199
7
14 12 3
1290 555-0100 612 612-555-
0100
Senior Tool
Designer
M 1/23/1965 46 1/5/1998 13 3 4
1009 Mr Thierry.B.D'Hers 555-0183 168 168-555-
0183
Tool
Designer
M 8/29/1949 62 1/11/1998 13 263 5
1028 Mr David.M.Bradley 555-0172 913 913-555-
0172
Marketing
Manager
M 4/19/1965 46 1/20/1998 13 109 6
1070 Ms JoLynn.M.Dobney 555-0145 903 903-555-
0145
Production
Supervisor -
WC60
F 2/16/1946 65 1/26/1998 13 21 7
1071 Mrs Ruth.Ann.Ellerbrock 555-0130 145 145-555-
0130
Production
Technician -
WC10
F 7/6/1946 65 2/6/1998 13 185 8
1005 Mrs Gail.A.Erickson 555-0139 849 849-555-
0139
Design
Engineer
F 10/29/1942 69 2/6/1998 13 3 9
1076 Mr Barry.K.Johnson 555-0180 206 206-555-
0180
Production
Technician -
WC10
M 4/27/1946 65 2/7/1998 13 185 10
1006 Mr Jossef.H.Goldberg 555-0189 122 122-555-
0189
Design
Engineer
M 4/11/1949 62 2/24/1998 13 3 11
1001 Ms Terri.Lee.Duffy 555-0175 819 819-555-
0175
Vice
President of
Engineering
F 9/1/1961 50 3/3/1998 13 109 12
1072 Mr Sidney.M.Higa 555-0189 424 424-555-
0189
Production
Technician -
WC10
M 10/1/1946 65 3/5/1998 13 185 13
1067 Mr Taylor.R.Maxwell 555-0165 508 508-555-
0165
Production
Supervisor -
WC50
M 5/3/1946 65 3/11/1998 13 21 14
1073 Mr Jeffrey.L.Ford 555-0185 984 984-555-
0185
Production
Technician -
WC10
M 8/12/1946 65 3/23/1998 13 185 15
1068 Ms Jo.A.Brown 555-0129 632 632-555-
0129
Production
Supervisor -
WC60
F 11/9/1946 65 3/30/1998 13 21 16
14. 1074 Mrs Doris.M.Hartwig 555-0150 328 328-555-
0150
Production
Technician -
WC10
F 5/6/1946 65 4/11/1998 13 185 17
1069 Mr John.T.Campbell 555-0113 435 435-555-
0113
Production
Supervisor -
WC60
M 9/8/1946 65 4/18/1998 13 21 18
1075 Mrs Diane.R.Glimp 555-0151 202 202-555-
0151
Production
Technician -
WC10
F 4/30/1946 65 4/29/1998 13 185 19
1129 Mr Steven.T.Selikoff 555-0114 925 925-555-
0114
Production
Technician -
WC30
M 6/15/1967 44 1/2/1999 12 173 20
iF OBJECT_ID ('EMP_1', 'V') IS NOT NULL
DROP VIEW EMP_1 ;
GO
CREATE VIEW EMP_1 WITH SCHEMABINDING
AS
SELECT C.ContactID ,C.Title, C.FirstName + '.'+ C.MiddleName +'.' +C.LastName AS EMPLOYEE, SUBSTRING(C.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(C.Phone,-7,11)AS AREA_CODE, C.Phone,
E.Title AS JOB_TITLE
, E.Gender,CONVERT(DATE, E.BirthDate)AS BIRTH_DAY, DATEDIFF(YY, E.BirthDate, CURRENT_TIMESTAMP) AS AGE, CONVERT (DATE,E.HireDate) AS HIRE_DATE,
DATEDIFF(YY, E.HIREDATE, CURRENT_TIMESTAMP) AS NUM_YERS_EMPLOYEED, E.ManagerID, E.MaritalStatus
, (E.EMPLOYEEID) AS EMP_ID
FROM PERSON.Contact C
INNER JOIN
HumanResources.Employee E
ON
C.ContactID = E.ContactID
WHERE C.FirstName + '.'+ C.MiddleName +'.' +C.LastName IS NOT NULL
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024)
WITH CHECK OPTION
UPDATE dbo.EMP_1
SET TITLE = 'Mr'
where gender = 'M'
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 12 [ContactID]
,[Title]
,[EMPLOYEE]
,[PHONE_NUMBER]
,[AREA_CODE]
,[Phone]
,[JOB_TITLE]
,[Gender]
,[BIRTH_DAY]
,[AGE]
,[HIRE_DATE]
,[NUM_YERS_EMPLOYEED]
,[ManagerID]
,[MaritalStatus]
,[EMP_ID]
FROM [AdventureWorks].[dbo].[EMP_1]
WHERE GENDER = 'M'
(12 row(s) affected)
15. UPDATE dbo.EMP_1
SET TITLE = 'Mrs'
OUTPUT DELETED.TITLE AS OLDTITLE, INSERTED.TITLE AS NEWTITLE
where Gender = 'F'
AND MaritalStatus = 'M'
OLDTITLE NEWTITLE
-------- --------
NULL Mrs
NULL Mrs
Ms. Mrs
Ms. Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
Ms. Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
ContactID Title EMPLOYEE PHONE_NUMBER AREA_CODE Phone JOB_TITLE Gender BIRTH_DAY AGE HIRE_DATE NUM_YERS_EMPLOYEED ManagerID MaritalStatus EMP_ID
1209 Mr Guy.R.Gilbert 555-0195 320 320-555-
0195
Production
Technician -
WC60
M 5/15/1972 39 7/31/1996 15 16 M 1
1030 Mr Kevin.F.Brown 555-0189 150 150-555-
0189
Marketing
Assistant
M 6/3/1977 34 2/26/1997 14 6 S 2
1009 Mr Thierry.B.D'Hers 555-0183 168 168-555-
0183
Tool Designer M 8/29/1949 62 1/11/1998 13 263 M 5
1028 Mr David.M.Bradley 555-0172 913 913-555-
0172
Marketing
Manager
M 4/19/1965 46 1/20/1998 13 109 S 6
1076 Mr Barry.K.Johnson 555-0180 206 206-555-
0180
Production
Technician -
WC10
M 4/27/1946 65 2/7/1998 13 185 S 10
1006 Mr Jossef.H.Goldberg 555-0189 122 122-555-
0189
Design
Engineer
M 4/11/1949 62 2/24/1998 13 3 M 11
1072 Mr Sidney.M.Higa 555-0189 424 424-555-
0189
Production
Technician -
WC10
M 10/1/1946 65 3/5/1998 13 185 M 13
1067 Mr Taylor.R.Maxwell 555-0165 508 508-555-
0165
Production
Supervisor -
WC50
M 5/3/1946 65 3/11/1998 13 21 M 14
1073 Mr Jeffrey.L.Ford 555-0185 984 984-555-
0185
Production
Technician -
WC10
M 8/12/1946 65 3/23/1998 13 185 S 15
1069 Mr John.T.Campbell 555-0113 435 435-555-
0113
Production
Supervisor -
WC60
M 9/8/1946 65 4/18/1998 13 21 M 18
1129 Mr Steven.T.Selikoff 555-0114 925 925-555-
0114
Production
Technician -
WC30
M 6/15/1967 44 1/2/1999 12 173 M 20
1231 Mr Peter.J.Krebs 555-0196 913 913-555-
0196
Production
Control
Manager
M 12/4/1972 39 1/2/1999 12 148 M 21
16. NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
NULL Mrs
(79 row(s) affected)
UPDATE dbo.EMP_1
SET TITLE = 'Ms'
OUTPUT DELETED.TITLE AS OLDTITLE, INSERTED.TITLE AS NEWTITLE
where MaritalStatus = 'S'
AND GENDER = 'F'
OLDTITLE NEWTITLE
-------- --------
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
17. Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
Ms Ms
(32 row(s) affected)
SELECT TOP(30)CONTACTID, GENDER, MARITALSTATUS, TITLE, EMPLOYEE
FROM dbo.EMP_1
CONTACTID GENDER MARITALSTATUS TITLE EMPLOYEE
1209 M M Mr Guy.R.Gilbert
1030 M S Mr Kevin.F.Brown
1009 M M Mr Thierry.B.D'Hers
1028 M S Mr David.M.Bradley
1070 F S Ms JoLynn.M.Dobney
1071 F M Mrs Ruth.Ann.Ellerbrock
1005 F M Mrs Gail.A.Erickson
1076 M S Mr Barry.K.Johnson
1006 M M Mr Jossef.H.Goldberg
1001 F S Ms Terri.Lee.Duffy
1072 M M Mr Sidney.M.Higa
1067 M M Mr Taylor.R.Maxwell
1073 M S Mr Jeffrey.L.Ford
1068 F S Ms Jo.A.Brown
1074 F M Mrs Doris.M.Hartwig
1069 M M Mr John.T.Campbell
1075 F M Mrs Diane.R.Glimp
1129 M M Mr Steven.T.Selikoff
1231 M M Mr Peter.J.Krebs
1172 M S Mr Stuart.V.Munson
1173 M S Mr Greg.F.Alderson
1113 M S Mr David.N.Johnson
1054 M S Mr Zheng.W.Mu
1097 M M Mr Ivo.William.Salmre
1156 M S Mr Paul.B.Komosinski
1258 M S Mr Ashvini.R.Sharma
1199 M M Mr Kendall.C.Keil
1242 F M Mrs Paula.M.Barreto de
Mattos
1140 M S Mr Alejandro.E.McGuel
1122 M S Mr Garrett.R.Young
(30 row(s) affected)
USE MSSQL
CREATE TABLE CUSTOMER
(CUST_NO INT IDENTITY(02348, 112) CONSTRAINT CUSTCUST_NO_PK PRIMARY KEY
, FIRST_NAME NVARCHAR(33) CONSTRAINT CUSTFNAME_NN NOT NULL
, LAST_NAME NVARCHAR(25) CONSTRAINT CUSTLASTNAME_NN NOT NULL
,GENDER CHAR(10) CONSTRAINT CUSTGENDER_NN NOT NULL
,CUST_ADDRESS NVARCHAR(55) CONSTRAINT CUSTCUST_ADD_NN NOT NULL
, CITY NVARCHAR(40) CONSTRAINT CUSTCITY_NN NOT NULL
, CUST_STATE NVARCHAR(25) CONSTRAINT CUSTSTATE_CK CHECK (CUST_STATE iN('IL', 'DC', 'CA', 'TX', 'AZ', 'MD', 'GA', 'il','dc','ca','tx','az', 'md','ga'))
, ZIP_CODE INT
)
18. USE MSSQL
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
values ('Jackie', 'Brown', '1818 S Washington BLVD SE APT 227', 'Washington', 'DC', 20021, 'Female');
CREATE TRIGGER CUSTOMERS
ON
dbo.customer
instead of insert
as print
'The data has been sucessfully inserted to the database.';
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
values ('Sandy', 'Jack', '4040 N Washington BLVD SW ', 'Washington', 'DC',20032, 'Male'),
('Christopher', 'McLean', '24 N.Illinios Ave NE', 'Washington', 'DC',20011, 'Male'),
('RoseMary', 'BlueGrass', '20 S Capitol RD SE', 'Washington', 'DC',20018, 'Female'),
('Cassandra', 'Morgan', '1010 W New York Ave NW ', 'Washington', 'DC',20030, 'Female'),
('Diana', 'Mark', '85 S A ST SW', 'Washington', 'DC',20059, 'Female');
The data has been sucessfully inserted to the database.
(5 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
values ('Jayson', 'Alex', '1830 S Cider BLVD NW', 'Washington', 'DC', 20032, 'Male'),
('JAEGERS', 'SHU', '40 S Washington BLVD SW ', 'Washington', 'DC', 20011, 'Female'),
('Nicholas', 'Nicholas', '24 N California Ave NE Apt 4D', 'Washington', 'DC',20018, 'Male'),
('Liz', 'Steward', '120 S Ohio Ave SE', 'Washington', 'DC',20022, 'Female'),
('Austin', 'Martin', '11 W New Mexico Ave NW APT 21B', 'Washington', 'DC',20030, 'female'),
('LOPEZ', 'PALISBO', '85 S A ST SW', 'Washington', 'DC',20059, 'Male');
The data has been sucessfully inserted to the database.
(6 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
values ('DEIDRA', 'SYDNEY', '24 18th ST SE ', 'Washington', 'DC',20017, 'Female'),
('EAGLEN', 'EASTON', '120 S Jackson Ave SE', 'Washington','DC',20022, 'Female'),
('SHANDRA', 'TABOR', '101 W Georgia Ave NW ', 'Washington', 'DC',20040, 'female'),
('DOROTHY', 'Paul-Walker', '35 E Delaware Ave SE', 'Washington', 'DC',20052, 'female'),
('DEINES', 'JOHN', '11 W Georgia Ave', 'Silver Springs', 'MD',20901 , 'Female'),
('WALTER', 'TIMOTHY', '35 E Pine Grove Ave NE', 'Washington', 'DC', 20052, 'Male'),
('JONATHAN', 'BRUCE', '10 justice Drive SW' , 'Washington',' DC', 20040, 'Male');
The data has been sucessfully inserted to the database.
(7 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values ('MILTON', 'ROLAND', '35 W Union Drive NE', 'Washington', 'DC',20051,'Male');
The data has been sucessfully inserted to the database.
(1 row(s) affected)
USE MSSQL
SELECT * FROM CUSTOMER
CUST_NO FIRST_NAME LAST_NAME GENDER CUST_ADDRESS CITY
CUST_STATE ZIP_CODE
----------- --------------------------------- ------------------------- ---------- ------------------------------------------------------- -----------------------------
----------- ------------------------- -----------
19. 2348 Jackie Brown Female 1818 S Washington BLVD SE APT 227 Washington
DC 20021
(1 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
values ('Sandy', 'Jack', '4040 N Washington BLVD SW ', 'Washington', 'DC',20032, 'Male'),
('Christopher', 'McLean', '24 N.Illinios Ave NE', 'Washington', 'DC',20011, 'Male'),
('RoseMary', 'BlueGrass', '20 S Capitol RD SE', 'Washington', 'DC',20018, 'Female'),
('Cassandra', 'Morgan', '1010 W New York Ave NW ', 'Washington', 'DC',20030, 'Female'),
('Diana', 'Mark', '85 S A ST SW', 'Washington', 'DC',20059, 'Female');
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
values ('Jayson', 'Alex', '1830 S Cider BLVD NW', 'Washington', 'DC', 20032, 'Male'),
('JAEGERS', 'SHU', '40 S Washington BLVD SW ', 'Washington', 'DC', 20011, 'Female'),
('Nicholas', 'Nicholas', '24 N California Ave NE Apt 4D', 'Washington', 'DC',20018, 'Male'),
('Liz', 'Steward', '120 S Ohio Ave SE', 'Washington', 'DC',20022, 'Female'),
('Austin', 'Martin', '11 W New Mexico Ave NW APT 21B', 'Washington', 'DC',20030, 'female'),
('LOPEZ', 'PALISBO', '85 S A ST SW', 'Washington', 'DC',20059, 'Male');
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values ('MILTON', 'ROLAND', '35 W Union Drive NE', 'Washington', 'DC',20051,'Male');
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values ('FREDDIE', 'WADE', '2020 Rosevelt BLVD SW', 'Washington', 'DC',20049, 'Male'),
('ZADRA', 'WALCUTT', '25 E Balitmore Pk', 'Silver Springs', 'MD', 20901 , 'Female'),
('TERRENCE', 'KENT', '101 W Georgia Ave Apt 18B', 'Silver Springs', 'MD',20901, 'Male'),
('PHYLLIS', 'SERGIO', '45 Steveson Drv Apt 5G','Silver Springs', 'MD',20901, 'Female'),
('WALCH', 'GENE', '80 Baker BLVD', 'Silver Springs', 'DC',20049, 'Male');
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values ('BRETT', 'WALCUTT', '25 E Balitmore Pk', 'Silver Springs', 'MD', 20901 , 'Female'),
('LABEAU', 'KENT', '50 W Ocean Drive Ave Apt 18B', 'Silver Springs', 'MD',20901, 'Male'),
('SARA', 'LABBADIA', '45 Steveson Drv Apt 5G','Silver Springs', 'MD',20901, 'Female'),
('ANDREA', 'LESTER', '12 St.Paul St', 'Oxon Hill ', 'MD', 20745 ,' Female'),
('CHARLIE', 'Choice', '21 Adams BLVD', 'Oxon Hill', 'MD',20745, 'Male'),
('REGINALD', 'ANGEL', '25 E Washington Pk', 'Oxon Hil', 'MD', 20745 , 'Male');
SELECT * FROM CUSTOMER
CUST_NO FIRST_NAME LAST_NAME GENDER CUST_ADDRESS CITY CUST_STATE ZIP_CODE
2348 Jackie Brown Female 1818 S Washington BLVD SE APT 227 Washington DC 20021
2460 Sandy Jack Male 4040 N Washington BLVD SW Washington DC 20032
2572 Christopher McLean Male 24 N.Illinios Ave NE Washington DC 20011
2684 RoseMary BlueGrass Female 20 S Capitol RD SE Washington DC 20018
2796 Cassandra Morgan Female 1010 W New York Ave NW Washington DC 20030
2908 Diana Mark Female 85 S A ST SW Washington DC 20059
3020 Jayson Alex Male 1830 S Cider BLVD NW Washington DC 20032
3132 JAEGERS SHU Female 40 S Washington BLVD SW Washington DC 20011
3244 Nicholas Nicholas Male 24 N California Ave NE Apt 4D Washington DC 20018
3356 Liz Steward Female 120 S Ohio Ave SE Washington DC 20022
3468 Austin Martin Female 11 W New Mexico Ave NW APT 21B Washington DC 20030
3580 LOPEZ PALISBO Male 85 S A ST SW Washington DC 20059
4476 MILTON ROLAND Male 35 W Union Drive NE Washington DC 20051
20. 4588 FREDDIE WADE Male 2020 Rosevelt BLVD SW Washington DC 20049
4700 ZADRA WALCUTT Female 25 E Balitmore Pk Silver Springs MD 20901
4812 TERRENCE KENT Male 101 W Georgia Ave Apt 18B Silver Springs MD 20901
4924 PHYLLIS SERGIO Female 45 Steveson Drv Apt 5G Silver Springs MD 20901
5036 WALCH GENE Male 80 Baker BLVD Silver Springs DC 20049
5148 BRETT WALCUTT Female 25 E Balitmore Pk Silver Springs MD 20901
5260 LABEAU KENT Male 50 W Ocean Drive Ave Apt 18B Silver Springs MD 20901
5372 SARA LABBADIA Female 45 Steveson Drv Apt 5G Silver Springs MD 20901
5484 ANDREA LESTER Female 12 St.Paul St Oxon Hill MD 20745
5596 CHARLIE Choice Male 21 Adams BLVD Oxon Hill MD 20745
5708 REGINALD ANGEL Male 25 E Washington Pk Oxon Hil MD 20745
DELETE DBO.CUSTOMER;
ALTER TRIGGER [dbo].[CUSTOMERS]
ON
[dbo].[CUSTOMER]
AFTER INSERT
as print
'DATA ERROR PLEASE RE-INSERT';
ROLLBACK TRAN;
USE [MSSQL]
GO
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values('washington', 'Wells', '20 Lakeshore Driv ApT 34C', 'Chicago', 'IL', 60660, 'Male'),
('TED', 'SERGIO', '1818 N Paulina','Chicago', 'IL',60632, 'Male'),
('JULIA', 'QUNICY', '8O Chicago RD Apt 227', 'Chicago', 'IL',60633, 'Female'),
('EMILY', 'KELLY', '12 S Kedize Apt 33GH', 'Chicago', 'IL', 606421 , 'Female'),
('CLAYTON', 'Cliford', '20 Lasalle Street Apt 40b ', 'Chicago', 'IL', 60602, 'Male'),
('RUBY', 'JESSIE', '2020 S State Street','Chicago', 'IL', 60639, 'Female'),
('CLAUDE', 'JAMIE', '12 S Dearbon Apt 29 H', 'Chicago', 'IL', 606421 , 'Male'),
('MARILYN', 'FERNANDO', '12 Jane Adams Blvd', 'Chicago', 'IL', 60604, 'Female'),
('NEIL', 'PAVLIKOWSKI', '20 N State Street','Chicago', 'IL', 60639, 'Female'),
('PAVLICK', 'JAVIER', '200 W Howard Ave Apt 40b ', 'Chicago', 'IL', 606003, 'Male'),
('LOUISE', 'JESSIE', '40 S Abbott Street Apt 18H','Chicago', 'IL', 60629, 'Female');
DATA ERROR PLEASE RE-INSERT
Msg 3609, Level 16, State 1, Line 2
The transaction ended in the trigger. The batch has been aborted.
SELECT * FROM CUSTOMER;
NO ROWS
DROP TRIGGER CUSTOMERS;
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values('washington', 'Wells', '20 Lakeshore Driv ApT 34C', 'Chicago', 'IL', 60660, 'Male'),
('TED', 'SERGIO', '1818 N Paulina','Chicago', 'IL',60632, 'Male'),
('JULIA', 'QUNICY', '8O Chicago RD Apt 227', 'Chicago', 'IL',60633, 'Female'),
('EMILY', 'KELLY', '12 S Kedize Apt 33GH', 'Chicago', 'IL', 606421 , 'Female'),
('CLAYTON', 'Cliford', '20 Lasalle Street Apt 40b ', 'Chicago', 'IL', 60602, 'Male'),
('RUBY', 'JESSIE', '2020 S State Street','Chicago', 'IL', 60639, 'Female'),
('CLAUDE', 'JAMIE', '12 S Dearbon Apt 29 H', 'Chicago', 'IL', 606421 , 'Male'),
('MARILYN', 'FERNANDO', '12 Jane Adams Blvd', 'Chicago', 'IL', 60604, 'Female'),
('NEIL', 'PAVLIKOWSKI', '20 N State Street','Chicago', 'IL', 60639, 'Female'),
('PAVLICK', 'JAVIER', '200 W Howard Ave Apt 40b ', 'Chicago', 'IL', 606003, 'Male'),
('LOUISE', 'JESSIE', '40 S Abbott Street Apt 18H','Chicago', 'IL', 60629, 'Female');
21. insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
OUTPUT INSERTED.*
values ('Sandy', 'Jack', '4040 N Washington BLVD SW ', 'Washington', 'DC',20032, 'Male'),
('Christopher', 'McLean', '24 N.Illinios Ave NE', 'Washington', 'DC',20011, 'Male'),
('RoseMary', 'BlueGrass', '20 S Capitol RD SE', 'Washington', 'DC',20018, 'Female'),
('Cassandra', 'Morgan', '1010 W New York Ave NW ', 'Washington', 'DC',20030, 'Female'),
('Diana', 'Mark', '85 S A ST SW', 'Washington', 'DC',20059, 'Female');
CUST_NO FIRST_NAME LAST_NAME GENDER CUST_ADDRESS CITY
CUST_STATE ZIP_CODE
----------- --------------------------------- ------------------------- ---------- ------------------------------------------------------- -----------------------------
----------- ------------------------- -----------
10860 Sandy Jack Male 4040 N Washington BLVD SW Washington
DC 20032
10972 Christopher McLean Male 24 N.Illinios Ave NE Washington
DC 20011
11084 RoseMary BlueGrass Female 20 S Capitol RD SE Washington
DC 20018
11196 Cassandra Morgan Female 1010 W New York Ave NW Washington
DC 20030
11308 Diana Mark Female 85 S A ST SW Washington
DC 20059
(5 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE, GENDER)
OUTPUT INSERTED.*
values ('Jayson', 'Alex', '1830 S Cider BLVD NW', 'Washington', 'DC', 20032, 'Male'),
('JAEGERS', 'SHU', '40 S Washington BLVD SW ', 'Washington', 'DC', 20011, 'Female'),
('Nicholas', 'Nicholas', '24 N California Ave NE Apt 4D', 'Washington', 'DC',20018, 'Male'),
('Liz', 'Steward', '120 S Ohio Ave SE', 'Washington', 'DC',20022, 'Female'),
('Austin', 'Martin', '11 W New Mexico Ave NW APT 21B', 'Washington', 'DC',20030, 'female'),
('LOPEZ', 'PALISBO', '85 S A ST SW', 'Washington', 'DC',20059, 'Male');
CUST_NO FIRST_NAME LAST_NAME GENDER CUST_ADDRESS CITY
CUST_STATE ZIP_CODE
----------- --------------------------------- ------------------------- ---------- ------------------------------------------------------- -----------------------------
----------- ------------------------- -----------
11420 Jayson Alex Male 1830 S Cider BLVD NW Washington
DC 20032
11532 JAEGERS SHU Female 40 S Washington BLVD SW Washington
DC 20011
11644 Nicholas Nicholas Male 24 N California Ave NE Apt 4D Washington
DC 20018
11756 Liz Steward Female 120 S Ohio Ave SE Washington
DC 20022
11868 Austin Martin female 11 W New Mexico Ave NW APT 21B Washington
DC 20030
11980 LOPEZ PALISBO Male 85 S A ST SW Washington
DC 20059
(6 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
OUTPUT INSERTED.*
values ('MILTON', 'ROLAND', '35 W Union Drive NE', 'Washington', 'DC',20051,'Male'),
('FREDDIE', 'WADE', '2020 Rosevelt BLVD SW', 'Washington', 'DC',20049, 'Male'),
('ZADRA', 'WALCUTT', '25 E Balitmore Pk', 'Silver Springs', 'MD', 20901 , 'Female'),
('TERRENCE', 'KENT', '101 W Georgia Ave Apt 18B', 'Silver Springs', 'MD',20901, 'Male'),
('PHYLLIS', 'SERGIO', '45 Steveson Drv Apt 5G','Silver Springs', 'MD',20901, 'Female'),
('WALCH', 'GENE', '80 Baker BLVD', 'Silver Springs', 'DC',20049, 'Male'),
('BRETT', 'WALCUTT', '25 E Balitmore Pk', 'Silver Springs', 'MD', 20901 , 'Female'),
('LABEAU', 'KENT', '50 W Ocean Drive Ave Apt 18B', 'Silver Springs', 'MD',20901, 'Male'),
('SARA', 'LABBADIA', '45 Steveson Drv Apt 5G','Silver Springs', 'MD',20901, 'Female');
CUST_NO FIRST_NAME LAST_NAME GENDER CUST_ADDRESS CITY
CUST_STATE ZIP_CODE
----------- --------------------------------- ------------------------- ---------- ------------------------------------------------------- -----------------------------
----------- ------------------------- -----------
12092 MILTON ROLAND Male 35 W Union Drive NE Washington
DC 20051
12204 FREDDIE WADE Male 2020 Rosevelt BLVD SW Washington
DC 20049
12316 ZADRA WALCUTT Female 25 E Balitmore Pk Silver Springs
MD 20901
12428 TERRENCE KENT Male 101 W Georgia Ave Apt 18B Silver Springs
MD 20901
22. 12540 PHYLLIS SERGIO Female 45 Steveson Drv Apt 5G Silver Springs
MD 20901
12652 WALCH GENE Male 80 Baker BLVD Silver Springs
DC 20049
12764 BRETT WALCUTT Female 25 E Balitmore Pk Silver Springs
MD 20901
12876 LABEAU KENT Male 50 W Ocean Drive Ave Apt 18B Silver Springs
MD 20901
12988 SARA LABBADIA Female 45 Steveson Drv Apt 5G Silver Springs
MD 20901
ALTER TRIGGER dbo.CUSTOMERS
ON
dbo.CUSTOMER
AFTER UPDATE
AS
SELECT last_name +' ' + 'record has been updated '
from inserted;
GO
UPDATE DBO.CUSTOMER
SET LAST_NAME = 'Richardson'
WHERE cust_no = 9852
Richardson record has been updated
(1 row(s) affected)
insert into CUSTOMER(FIRST_NAME, LAST_NAME, CUST_ADDRESS , city, CUST_STATE, ZIP_CODE,GENDER)
values ('Derick', 'Rose', '12 S Racine Ave Apt 29 H', 'Chicago', 'IL', 606429 , 'Male'),
('Ralph', 'Nadim', '204 Kimball Rd Apt 20G', 'Chicago', 'IL', 60624, 'Male'),
('Latoya', 'Kadeem', '11 Addison Apt 20c ', 'Chicago', 'IL', 60624, 'Female'),
('lisa', 'Brad', '80 West 83rd Apt 2 ', 'Chicago', 'IL', 60654, 'Female'),
('Kadyn', 'Michaels', '200 East 73rd Apt 2 ', 'Chicago', 'IL', 60624, 'Female'),
('Latrice', 'Abby', '40 Glenwood Aot 23', 'Chicago', 'IL', 60632, 'Female'),
('Thomas', 'Martin', '12 N Javis Apt 9 H3', 'Evaston', 'IL', 606721 , 'Male'),
('Bernice', 'Authur', '19 S Highway 6 Apt 3', 'Evaston', 'IL', 60704, 'Female'),
('Betsy', 'Chris', '20 N Loyola Street','Evaston', 'IL', 60639, 'Female'),
('Akon', 'Cider', '200 W Brodway Ave Apt 40 ', 'Evaston', 'IL', 60704, 'Male'),
('Richard', 'King', '40 S Theather Street Apt 1', 'Evaston', 'IL', 60704, 'Female'),
('Derick', 'Stone', '12 S Race Ave Apt 29 H', 'Evaston', 'IL', 60704 , 'Male'),
('Mark', 'Harison', '1010 S Centinela Ave Apt 2B', 'Los Angles ', 'CA', 90034 , 'Male'),
('TINA', 'Clark', '20 N SunSet Blvd 2C','Los Angeles', 'CA', 90034, 'Female'),
('MARILYN', 'Wash', '12 King Drv', 'Los Angeles', 'CA', 90034, 'Female'),
('MARILYN', 'Wash', '12 King Drv', 'Los Angeles', 'CA', 90034, 'Female'),
('Hamilton', 'Anderson', '050 N Ocean Drv', 'Los Angeles','CA', 90034, 'Female'),
('CHAD', 'ALFRED', '090 S liberity PK', 'Los Angeles','CA', 90034, 'Male'),
('Jones', 'Don', '4040 S Central ','Los Angeles','CA', 90034, 'Male'),
('Britney', 'Hancock', '90 S Hollywood', 'Los Angeles','CA', 90034, 'Female'),
('Geroge', 'Jefferson', '40 S Empire Drv ','Los Angeles','CA', 90034, 'Male'),
('Madilyn', 'Jaken', '10 Beach Drive', 'Los Angeles','CA', 90035, 'Female'),
('Chuck', 'Chi', '30 Mall Drive ', 'Los Angeles','CA', 90035, 'Male'),
('Cesar', 'Carlos', '40 S Central ','Los Angeles','CA', 90034, 'Male'),
('Nadine', 'Corby', '19 Pine Lane ', 'Los Angeles','CA', 90033, 'Female'),
('Abraham', 'Abraham', '40 S Airforce Rd ','Los Angeles ','CA', 90034, 'Male'),
('udo', 'udo', '21 E Disney Rd ','Los Angeles','CA', 90034, 'Male'),
('Octavia', 'Lee', '10 Santa Monica Drive', 'Los Angeles','CA', 90035, 'Female'),
('Abel', 'Adon', '30 santa jose drv ', 'Los Angeles','CA', 90035, 'Male'),
('Nancy', 'William', '40 S lake Rd ','Los Angeles','CA', 90034, 'Male'),
('Monica', 'Corby', '19 Cider Lane ', 'Los Angeles','CA', 90033, 'Female'),
('Chris', 'Abraham', '40 S Airforce Rd ','Los Angeles','CA', 90034, 'Male'),
('Diane', 'Austine', '90 Sony Drive ', 'Los Angeles','CA', 90035, 'Female'),
('Darlene', 'Dion', '92 Church Blvd', 'Los Angeles','CA', 90035, 'Female'),
('Linda', 'Creed', '12 Airport Highway', 'Los Angeles','CA', 90035, 'Female' ),
('Carson', 'Creed', '12 Airport Highway', 'Los Angeles','CA', 90035, 'Male'),
('Perry', 'Tyson', '1150 S King Ave Apt 12B', 'Atlanta' , 'GA', 30301 , 'Male'),
('Aaliyah', 'Clark', '20 N Flowery Branch Road','Los Angeles', 'CA', 30301 , 'Female'),
('Abbigail', 'Udeh', ' 980 Best Friend Road APT 7H', 'Atlanta' , 'GA', 30301, 'Female'),
('Uehudah', 'Urban', '040 Sugar Grov', 'Atlanta' , 'GA', 30303, 'Male'),
('Hamilton', 'Hakeem', '50 Tower Rd', 'Atlanta' , 'GA', 30303, 'Male'),
23. ('Adrianna', 'Gary', '66 Settingdown Road Apt 11Y ','Atlanta' , 'GA', 30304, 'Female'),
('Macie', 'Gabriel', '190 ClockTower Drv', 'Atlanta' , 'GA', 90034, 'Female'),
('Jaiden', 'Jacquez', '40 Knights St ','Atlanta' , 'GA', 30303, 'Male'),
('Felipe', 'Elton', '50 Music Rd', 'Atlanta' , 'GA', 30304, 'Male');
Select * from dbo.customer
CUST_NO FIRST_NAME LAST_NAME GENDER CUST_ADDRESS CITY CUST_STATE ZIP_CODE
9628 washington Wells Male 20 Lakeshore Driv ApT 34C Chicago IL 60660
9740 TED SERGIO Male 1818 N Paulina Chicago IL 60632
9852 JULIA Richardson Female 8O Chicago RD Apt 227 Chicago IL 60633
9964 EMILY KELLY Female 12 S Kedize Apt 33GH Chicago IL 606421
10076 CLAYTON Cliford Male 20 Lasalle Street Apt 40b Chicago IL 60602
10188 RUBY JESSIE Female 2020 S State Street Chicago IL 60639
10300 CLAUDE JAMIE Male 12 S Dearbon Apt 29 H Chicago IL 606421
10412 MARILYN FERNANDO Female 12 Jane Adams Blvd Chicago IL 60604
10524 NEIL PAVLIKOWSKI Female 20 N State Street Chicago IL 60639
10636 PAVLICK JAVIER Male 200 W Howard Ave Apt 40b Chicago IL 606003
10748 LOUISE JESSIE Female 40 S Abbott Street Apt 18H Chicago IL 60629
10860 Sandy Jack Male 4040 N Washington BLVD SW Washington DC 20032
10972 Christopher Peterson Male 24 N.Illinios Ave NE Washington DC 20011
11084 RoseMary BlueGrass Female 20 S Capitol RD SE Washington DC 20018
11196 Cassandra Morgan Female 1010 W New York Ave NW Washington DC 20030
11308 Diana Mark Female 85 S A ST SW Washington DC 20059
11420 Jayson Alex Male 1830 S Cider BLVD NW Washington DC 20032
11532 JAEGERS SHU Female 40 S Washington BLVD SW Washington DC 20011
11644 Nicholas Nicholas Male 24 N California Ave NE Apt
4D
Washington DC 20018
11756 Liz Steward Female 120 S Ohio Ave SE Washington DC 20022
11868 Austin Martin Female 11 W New Mexico Ave NW
APT 21B
Washington DC 20030
11980 LOPEZ PALISBO Male 85 S A ST SW Washington DC 20059
15900 Derick Rose Male 12 S Racine Ave Apt 29 H Chicago IL 606429
16012 Ralph Nadim Male 204 Kimball Rd Apt 20G Chicago IL 60624
16124 Latoya Kadeem Female 11 Addison Apt 20c Chicago IL 60624
16236 lisa Brad Female 80 West 83rd Apt 2 Chicago IL 60654
16348 Kadyn Michaels Female 200 East 73rd Apt 2 Chicago IL 60624
16460 Latrice Abby Female 40 Glenwood Aot 23 Chicago IL 60632
16572 Thomas Martin Male 12 N Javis Apt 9 H3 Evaston IL 606721
16684 Bernice Authur Female 19 S Highway 6 Apt 3 Evaston IL 60704
16796 Betsy Chris Female 20 N Loyola Street Evaston IL 60639
16908 Akon Cider Male 200 W Brodway Ave Apt 40 Evaston IL 60704
24. 17020 Richard King Female 40 S Theather Street Apt 1 Evaston IL 60704
17132 Derick Stone Male 12 S Race Ave Apt 29 H Evaston IL 60704
17244 Mark Harison Male 1010 S Centinela Ave Apt 2B Los Angles CA 90034
17356 TINA Clark Female 20 N SunSet Blvd 2C Los Angeles CA 90034
17468 MARILYN Wash Female 12 King Drv Los Angeles CA 90034
17580 MARILYN Wash Female 12 King Drv Los Angeles CA 90034
17692 Hamilton Anderson Female 050 N Ocean Drv Los Angeles CA 90034
17804 CHAD ALFRED Male 090 S liberity PK Los Angeles CA 90034
17916 Jones Don Male 4040 S Central Los Angeles CA 90034
18028 Britney Hancock Female 90 S Hollywood Los Angeles CA 90034
18140 Geroge Jefferson Male 40 S Empire Drv Los Angeles CA 90034
18252 Madilyn Jaken Female 10 Beach Drive Los Angeles CA 90035
18364 Chuck Chi Male 30 Mall Drive Los Angeles CA 90035
18476 Cesar Carlos Male 40 S Central Los Angeles CA 90034
18588 Nadine Corby Female 19 Pine Lane Los Angeles CA 90033
18700 Abraham Abraham Male 40 S Airforce Rd Los Angeles CA 90034
18812 udo udo Male 21 E Disney Rd Los Angeles CA 90034
18924 Octavia Lee Female 10 Santa Monica Drive Los Angeles CA 90035
19036 Abel Adon Male 30 santa jose drv Los Angeles CA 90035
19148 Nancy William Male 40 S lake Rd Los Angeles CA 90034
19260 Monica Corby Female 19 Cider Lane Los Angeles CA 90033
19372 Chris Abraham Male 40 S Airforce Rd Los Angeles CA 90034
19484 Diane Austine Female 90 Sony Drive Los Angeles CA 90035
19596 Darlene Dion Female 92 Church Blvd Los Angeles CA 90035
19708 Linda Creed Female 12 Airport Highway Los Angeles CA 90035
19820 Carson Creed Male 12 Airport Highway Los Angeles CA 90035
19932 Perry Tyson Male 1150 S King Ave Apt 12B Atlanta GA 30301
20044 Aaliyah Clark Female 20 N Flowery Branch Road Los Angeles CA 30301
20156 Abbigail Udeh Female 980 Best Friend Road APT 7H Atlanta GA 30301
20268 Uehudah Urban Male 040 Sugar Grov Atlanta GA 30303
20380 Hamilton Hakeem Male 50 Tower Rd Atlanta GA 30303
20492 Adrianna Gary Female 66 Settingdown Road Apt 11Y Atlanta GA 30304
20604 Macie Gabriel Female 190 ClockTower Drv Atlanta GA 90034
20716 Jaiden Jacquez Male 40 Knights St Atlanta GA 30303
20828 Felipe Elton Male 50 Music Rd Atlanta GA 30304
ALTER dbo.customer
Disable trigger customers
delete dbo.customer
output deleted.cust_no, deleted.first_name, deleted.last_name, deleted.gender, deleted.cust_address,
deleted.city, deleted.cust_state, deleted.zip_code
where cust_no = 15900
or cust_no = 10412;
cust_no first_name last_name gender cust_address city cust_state zip_code
----------- --------------------------------- ------------------------- ---------- ------------------------------------------------------- ---------------------------------------- ------------------------- -----------
10412 MARILYN FERNANDO Female 12 Jane Adams Blvd Chicago IL 60604
15900 Derick Rose Male 12 S Racine Ave Apt 29 H Chicago IL 606429
(2 row(s) affected)
use AdventureWorks
GO
select C.ContactID, C.FirstName +' . ' + C.MiddleName + '.' + C.LastName AS EMPLOYEE_NAME, E.Title AS JOB_TITLE,
CONVERT (DATE,E.HireDate) AS HIRE_DATE,
25. ROUND(( P.RATE),2)
AS PAY_RATE, ROUND((P.RATE * 40),2)
AS WEEK_PAY1, ROUND((P.RATE * 40),2)
AS WEEK_PAY2, ROUND((P.RATE * 40),2)
AS WEEK_PAY3,
ROUND((P.RATE * 40),2)
AS WEEK_PAY4,
E.VacationHours, E.SickLeaveHours,
ROUND((P.Rate * 160),2) AS MONTH_PAY_TOTAL, D.DepartmentID AS DEPT_ID, HD.Name AS DEPT_NAME
INTO SALARY_DEC1
from HumanResources.EmployeePayHistory P
INNER JOIN
HumanResources.Employee E
ON P.EmployeeID = E.EmployeeID
INNER JOIN
Person.Contact C
ON E.ContactID = E.ContactID
INNER JOIN HumanResources.EmployeeDepartmentHistory D
ON E.EmployeeID = D.DepartmentID
INNER JOIN HumanResources.Department HD
ON D.DepartmentID = HD.DepartmentID
WHERE C.FirstName + '.'+ C.MiddleName +'.' +C.LastName IS NOT NULL
(3717252 row(s) affected)
USE AdventureWorks
GO
CREATE PROCEDURE DBO.SALARYDEC
AS
SELECT top(50)CONTACTID, EMPLOYEE_NAME, JOB_TITLE, HIRE_DATE, WEEK_PAY1, WEEK_PAY2, WEEK_PAY3, WEEK_PAY4, VacationHours, SickLeaveHours,
MONTH_PAY_TOTAL,DEPT_NAME
FROM dbo.SALARY_DEC1
go
EXEC DBO.SALARYDEC
CONTACTID EMPLOYEE_NAME JOB_TITLE HIRE_DATE WEEK_PAY1 WEEK_PAY2 WEEK_PAY3 WEEK_PAY4 VacationHours SickLeaveHours MONTH_PAY_TOTAL DEPT_NAME
6714 Isabelle . W.Long Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6716 Isabelle .
C.Patterson
Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6719 Carla . C.Chapman Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6720 Isabelle .
A.Flores
Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6721 Isabelle .
C.Winston
Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6726 Carla . C.Van Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6728 Carla .
W.Malhotra
Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
6729 Isabelle .
L.Alexander
Production
Technician -
WC60
7/31/1996 498 498 498 498 21 30 1992 Engineering
28. Text
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE PROCEDURE DBO.SALARYDEC
AS
SELECT top(50)CONTACTID, EMPLOYEE_NAME, JOB_TITLE, HIRE_DATE, WEEK_PAY1, WEEK_PAY2, WEEK_PAY3, WEEK_PAY4, VacationHours, SickLeaveHours,
MONTH_PAY_TOTAL,DEPT_NAME
FROM dbo.SALARY_DEC1
update SALARY_DEC1
set pay_rate = 50
where dept_id in (1,13,10,11)
update SALARY_DEC1
set pay_rate = 40
where dept_id in (7, 6, 5, 4, 8,9, 14, 15)
update SALARY_DEC1
set pay_rate = 60
where dept_id = 16
update SALARY_DEC1
set pay_rate = 30
where dept_id not in (7,6,5,4,8,9,14,15,16,1,13,10,11)
/* salary_dec1 was renamed to employee_salary*/
Alter table employee_salary
add Hours_Worked int;
Update employee_salary
set hours_worked = 40;
use AdventureWorks
go
CREATE TRIGGER salarydbemp
ON
dbo.Employee_Salary
instead of update
as print
'The data has been sucessfully updated to the database.';
use AdventureWorks
go
update dbo.Employee_Salary
set VacationHours = 500
where contactid in(6714, 7095, 711)
The data has been sucessfully updated to the database.
(648 row(s) affected)
/* Only contact 6714 records was copied from excel to make it easier to understand that the update operation did not work */
Select * from dbo.Employee_Salary
ContactID EMPLOYEE_NAME JOB_TITLE HIRE_DATE PAY_RATE WEEK_PAY1 WEEK_PAY2 WEEK_PAY3 WEEK_PAY4 VacationHours SickLeaveHours MONTH_PAY_TOTAL DEPT_ID DEPT_NAME
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
6714 Isabelle .W.Long Production 1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
29. Supervisor
- WC60
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 82 61 4000 7 Production
USE [AdventureWorks]
GO
/****** Object: Trigger [dbo].[salarydbemp] Script Date: 12/17/2011 07:42:01 ******/
SET ANSI_NULLS on
GO
SET QUOTED_IDENTIFIER on
GO
ALTER TRIGGER [dbo].[salarydbemp]
ON
[dbo].[Employee_Salary]
instead of delete
as print
'The data has been sucessfully deleted from the database.';
GO
Command(s) completed successfully.
update dbo.Employee_Salary
set VacationHours = 500
where contactid in(6714, 7095)
(648 row(s) affected)
delete dbo.Employee_Salary
where contactid = 7095
The data has been sucessfully deleted from the database.
(324 row(s) affected)
Select * from dbo.Employee_Salary
where contactid in(6714, 7095)
ContactID EMPLOYEE_NAME JOB_TITLE HIRE_DATE
PAY_RATE WEEK_PAY1 WEEK_PAY2 WEEK_PAY3 WEEK_PAY4
VacationHours SickLeaveHours
MONTH_PAY_TOTAL
DEPT_ID DEPT_NAME Hours_Worked
6714 Isabelle .
W.Long
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 500 61 4000 7 Production 40
7095 Joan .
D.Watson
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 500 61 4000 7 Production 40
30. 7095 Joan .
D.Watson
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 500 61 4000 7 Production 40
7095 Joan .
D.Watson
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 500 61 4000 7 Production 40
7095 Joan .
D.Watson
Production
Supervisor
- WC60
1/26/1998 40 1000 1000 1000 1000 500 61 4000 7 Production 40
use AdventureWorks
go
ALTER table dbo.Employee_Salary
Disable trigger salarydbemp;
Command(s) completed successfully.
delete dbo.Employee_Salary
output deleted.ContactID, deleted.EMPLOYEE_NAME, deleted.DEPT_ID, deleted.JOB_TITLE
where contactid = 7095
ContactID EMPLOYEE_NAME DEPT_ID JOB_TITLE
7095 Joan . D.Watson 1 Production Technician - WC60
7095 Joan . D.Watson 1 Production Technician - WC60
7095 Joan . D.Watson 1 Production Technician - WC60
7095 Joan . D.Watson 1 Production Technician - WC60
7095 Joan . D.Watson 1 Production Technician - WC60
7095 Joan . D.Watson 1 Production Technician - WC60
7095 Joan . D.Watson 2 Marketing Assistant
7095 Joan . D.Watson 2 Marketing Assistant
7095 Joan . D.Watson 2 Marketing Assistant
7095 Joan . D.Watson 2 Marketing Assistant
USE [AdventureWorks]
GO
/****** Object: Trigger [dbo].[salarydbemp] Script Date: 12/17/2011 12:17:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[salarydbemp]
ON
[dbo].[Employee_Salary]
AFTER UPDATE, INSERT
AS
IF UPDATE(PAY_RATE)
BEGIN;
PRINT 'PAY_RATE HAS BEEN UPDATED'
END;
ELSE
IF UPDATE(JOB_TITLE)
BEGIN ;
PRINT 'JOB TITLE HAS BEEN UPDATED'
END;
ELSE
IF UPDATE(VacationHours)
BEGIN;
PRINT 'VACTION HOURS HAS BEEN UPDATED'
END;
ELSE
IF UPDATE (SickLeaveHours)
BEGIN;
PRINT 'SICK HOURS UPDATED'
end;
31. else
begin;
print 'The record has been updated'
end;
GO
use AdventureWorks
update dbo.employee_salary
set PAY_RATE = 55
where dept_name = 'Quality Assurance';
go
update dbo.employee_salary
set JOB_TITLE = 'Database Systems'
where dept_id = 7;
go
update dbo.employee_salary
set VacationHours = 340
where contactid between 2 and 2005;
go
update dbo.employee_salary
set SickLeaveHours = 340
where dept_id = 15;
go
PAY_RATE HAS BEEN UPDATED
(80304 row(s) affected)
JOB TITLE HAS BEEN UPDATED
(2064960 row(s) affected)
VACTION HOURS HAS BEEN UPDATED
(353160 row(s) affected)
SICK HOURS UPDATED
(68832 row(s) affected)
/* Results are shortened */
SELECT CONTACTID, PAY_RATE
FROM dbo.employee_salary
WHERE DEPT_NAME = 'Quality Assurance';
CONTACTID PAY_RATE
3602 55
3603 55
3604 55
3605 55
3608 55
3609 55
3616 55
3617 55
3619 55
3620 55
3629 55
SELECT CONTACTID, JOB_TITLE
FROM dbo.employee_salary
WHERE DEPT_ID = 7;
CONTACTID JOB_TITLE
32. 721 Database Systems
718 Database Systems
SELECT CONTACTID, SickLeaveHours
FROM dbo.employee_salary
WHERE DEPT_ID = 15;
CONTACTID SickLeaveHours
18 340
19 340
20 340
21 340
22 340
24 340
25 340
26 340
SELECT CONTACTID, VACATIONHOURS
FROM dbo.employee_salary
WHERE contactid between 2 and 2005;
use AdventureWorks
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEE1
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 1
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
Go
Command(s) completed successfully.
use AdventureWorks
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES2
CONTACTID VACATIONHOURS
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
1836 340
33. AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 2
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
Go
Command(s) completed successfully.
use AdventureWorks
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES3
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 3;
Go
CREATE PROCEDURE DBO.DEPT_EMPOLYEES4
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 4;
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES5
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 5;
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES6
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 6;
Go
CREATE PROCEDURE DBO.DEPT_EMPOLYEES7
AS
34. SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 7
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES8
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 8
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES9
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 9
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES10
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 10;
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES11
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 11
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES12
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
35. WHERE DEPT_ID = 12
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES13
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 13
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES14
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 14
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES15
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 15
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
CREATE PROCEDURE DBO.DEPT_EMPOLYEES16
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 15
AND C.CONTACTID NOT IN (1025, 1022, 1023, 1024);
GO
Command(s) completed successfully.
USE AdventureWorks
GO
EXEC dbo.DEPT_EMPOLYEES10;
GO
CONTACTID EMPLOYEE_NAME JOB_TITLE HIRE_DATE PHONE_NUMBER AREA_CODE EmployeeID SNN Gender
36. 1005 Gail . A.Erickson Production Technician - WC10 2/7/1998 555-0139 849 9 695256908 F
1004 Sharon .
B.Salavaria
Production Technician - WC10 2/7/1998 555-0138 970 270 56920285 F
1005 Gail . A.Erickson Production Technician - WC10 2/7/1998 555-0139 849 9 695256908 F
1004 Sharon .
B.Salavaria
Production Technician - WC10 2/7/1998 555-0138 970 270 56920285 F
1008 Janice . M.Galvin Production Technician - WC10 2/7/1998 555-0117 473 265 486228782 F
1001 Terri . Lee.Duffy Production Technician - WC10 2/7/1998 555-0175 819 12 245797967 F
1005 Gail . A.Erickson Production Technician - WC10 2/7/1998 555-0139 849 9 695256908 F
RESULTS (ABRIDGED)
USE AdventureWorks
GO
EXEC SP_HELPTEXT 'dbo.DEPT_EMPOLYEES10';
GO
Text
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE PROCEDURE DBO.DEPT_EMPOLYEES10
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 10;
USE [AdventureWorks]
GO
/****** Object: StoredProcedure [dbo].[DEPT_EMPOLYEES10] Script Date: 12/18/2011 21:13:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[DEPT_EMPOLYEES10]
WITH ENCRYPTION
AS
SELECT C.CONTACTID, C.EMPLOYEE_NAME, C.JOB_TITLE, C.HIRE_DATE, SUBSTRING(P.Phone,5,11)AS PHONE_NUMBER, SUBSTRING(P.Phone,-7,11)AS AREA_CODE
,E.EmployeeID, E.NationalIDNumber AS SNN, E.Gender
FROM dbo.Employee_Salary C
INNER JOIN HumanResources.Employee E
ON C.ContactID = E.ContactID
INNER JOIN Person.Contact P
ON E.ContactID =P.ContactID
WHERE DEPT_ID = 10;
GO
The text for object 'dbo.DEPT_EMPOLYEES10' is encrypted.
USE AdventureWorks
GO
USE AdventureWorks
GO
37. CREATE PROCEDURE EMPOLYEE_GENDERF
@SEARCH nchar(1) = 'F'
as
SELECT E.EmployeeID, E.Gender, P.FirstName +' ' + P.LastName + ' *******'+ E.NationalIDNumber AS EMPLOYEE, CAST(E.HIREDATE AS CHAR(12))AS HIREDATE
FROM HumanResources.Employee E
INNER JOIN
Person.Contact P
ON P.ContactID = E.ContactID
where e.Gender =@SEARCH
GO
EXEC EMPOLYEE_GENDERF
EmployeeID Gender EMPLOYEE HIREDATE
7 F JoLynn Dobney *******309738752 Jan 26 1998
8 F Ruth Ellerbrock *******690627818 Feb 6 1998
9 F Gail Erickson *******695256908 Feb 6 1998
12 F Terri Duffy *******245797967 Mar 3 1998
16 F Jo Brown *******446466105 Mar 30 1998
17 F Doris Hartwig *******565090917 Apr 11 1998
19 F Diane Glimp *******9659517 Apr 29 1998
30 F Paula Barreto de Mattos *******535145551 Jan 7 1999
34 F Susan Eaton *******586486572 Jan 8 1999
36 F Alice Ciccu *******113695504 Jan 8 1999
40 F Yvonne McKay *******713403643 Jan 10 1999
42 F Jean Trenary *******441044382 Jan 12 1999
50 F Susan Metters *******351069889 Jan 15 1999
USE AdventureWorks
GO
CREATE PROCEDURE EMPDEPTRECORDS
(
@DEPTNAME NVARCHAR(50)
)
AS
SELECT E.EmployeeID, D.Name AS DEPT_NAME, E.Gender, P.FirstName +' ' + P.LastName + ' ---'+ SUBSTRING (E.NationalIDNumber,5,3) AS EMPLOYEE, CAST(E.HIREDATE AS CHAR(12))AS
HIREDATE
, E.NationalIDNumber
FROM HumanResources.Employee E
INNER JOIN
Person.Contact P
ON P.ContactID = E.ContactID
INNER JOIN HumanResources.EmployeeDepartmentHistory H
ON E.EmployeeID = H.EmployeeID
INNER JOIN HumanResources.Department D
ON D.DepartmentID = H.DepartmentID
WHERE D.Name =@DEPTNAME;
GO
Command(s) completed successfully.
EmployeeID DEPT_NAME Gender EMPLOYEE HIREDATE NationalIDNumber
38. 268 Sales M Stephen Jiang ---978 Feb 4 2001 502097814
273 Sales M Brian Welcker ---321 Mar 18 2001 112432117
275 Sales M Michael Blythe ---601 Jul 1 2001 841560125
276 Sales F Linda Mitchell ---447 Jul 1 2001 191644724
277 Sales F Jillian Carson ---898 Jul 1 2001 615389812
278 Sales M Garrett Vargas ---742 Jul 1 2001 234474252
279 Sales M Tsvi Reiter ---743 Jul 1 2001 716374314
280 Sales F Pamela Ansman-Wolfe ---166 Jul 1 2001 61161660
281 Sales M Shu Ito ---978 Jul 1 2001 139397894
282 Sales M José Saraiva ---714 Jul 1 2001 399771412
283 Sales M David Campbell ---542 Jul 1 2001 987554265
284 Sales F Amy Alberts ---104 May 18 2002 982310417
285 Sales F Jae Pak ---913 Jul 1 2002 668991357
286 Sales M Ranjit Varkey Chudukatil ---197 Jul 1 2002 134219713
287 Sales M Tete Mensa-Annan ---619 Nov 1 2002 90836195
288 Sales M Syed Abbas ---449 Apr 15 2003 481044938
289 Sales F Rachel Valdez ---762 Jul 1 2003 954276278
290 Sales F Lynn Tsoflias ---967 Jul 1 2003 758596752
EXEC EMPDEPTRECORDS 'PRODUCTION';
EmployeeID DEPT_NAME Gender EMPLOYEE HIREDATE NationalIDNumber
1 Production M Guy Gilbert ---780 Jul 31 1996 14417807
10 Production M Barry Johnson ---658 Feb 7 1998 912265825
13 Production M Sidney Higa ---736 Mar 5 1998 844973625
14 Production M Taylor Maxwell ---693 Mar 11 1998 233069302
15 Production M Jeffrey Ford ---748 Mar 23 1998 132674823
18 Production M John Campbell ---703 Apr 18 1998 494170342
20 Production M Steven Selikoff ---689 Jan 2 1999 443968955
22 Production M Stuart Munson ---601 Jan 3 1999 835460180
23 Production M Greg Alderson ---859 Jan 3 1999 687685941
24 Production M David Johnson ---388 Jan 3 1999 498138869
25 Production M Zheng Mu ---681 Jan 4 1999 360868122
26 Production M Ivo Salmre ---892 Jan 5 1999 964089218
27 Production M Paul Komosinski ---627 Jan 5 1999 384162788
29 Production M Kendall Keil ---587 Jan 6 1999 571658797
31 Production M Alejandro McGuel ---977 Jan 7 1999 761597760
40. 292 Ranjit,Varkey
Chudukatil
2004 1 $ 707,000.00 Jan 1 2004 3 2004 $ 5,557,000.00
292 Ranjit,Varkey
Chudukatil
2004 2 $ 908,000.00 Apr 1 2004 4 2004 $ 5,557,000.00
293 Tete,Mensa-Annan 2004 1 $ 454,000.00 Jan 1 2004 3 2004 $ 2,753,000.00
293 Tete,Mensa-Annan 2004 2 $ 497,000.00 Apr 1 2004 4 2004 $ 2,753,000.00
RESULTS (ABRIDGED)
SELECT CUST_NO,CONVERT(DATE, DOB)AS DATE_OF_BIRTH,DATEDIFF(YY, DOB, CURRENT_TIMESTAMP) AS AGE, GENDER,
F_NAME + ','+L_NAME AS CUSTOMER_NAME
INTO
CUSTOMER_5
FROM dbo.CUSTOMER_DIM009
(18484 row(s) affected)
use MSSQL
GO
create function customerAge8l(
@CUST_NO INT
)
returns integer
as
begin
declare @custAGE INT
declare @custno int
SELECT @custAGE= AGE FROM
DB665. dbo.CUSTOMER_5
WHERE CUST_NO= @CUST_NO
RETURN(@custAGE)
END
Command(s) completed successfully.
select dbo.customerAge8l(29483)
52
(1 row(s) affected)
use MSSQL
GO
create function customerAges(
@CUST_NO INT
)
returns integer
as
begin
declare @custAGE INT
SELECT @custAGE= DATEDIFF(YY, DOB, CURRENT_TIMESTAMP)
FROM DB665.dbo.CUSTOMER_DIM009
WHERE CUST_NO= @CUST_NO
RETURN(@custAGE)
END
Command(s) completed successfully.
41. select dbo.customerAge8l(29483)
-----------
52
(1 row(s) affected)
USE MSSQL
GO
SELECT E.EmployeeID, E.Gender, E.Title, P.FirstName, P.LastName, E.BirthDate,
D.DepartmentID, D.Name, DATEDIFF(YY, E.BirthDate, CURRENT_TIMESTAMP) AS AGE,
CONVERT(DATE, E.HireDate) AS HIRE_DATE , DATEDIFF(YY, E.HireDate, CURRENT_TIMESTAMP) AS NUM_YRS_EMPLOY
INTO
EMP_RECORDS
FROM AdventureWorks.HumanResources.Employee E INNER
JOIN AdventureWorks.Person.Contact P
ON E.ContactID = P.ContactID
INNER JOIN AdventureWorks.HumanResources.EmployeeDepartmentHistory H
ON
H.EmployeeID = E.EmployeeID
INNER JOIN AdventureWorks.HumanResources.Department D
ON
D.DepartmentID = H.DepartmentID
(296 row(s) affected)
USE MSSQL
GO
create function AVG_AGE_DEPT(
@DepartmentID SMALLINT
)
returns integer
as
begin
declare @AVGAGE INT
SELECT @AVGAGE= AVG(AGE)
FROM EMP_RECORDS
RETURN(@AVGAGE)
END
SELECT dbo.AVG_AGE_DEPT(7)
-----------
42
(1 row(s) affected)
SELECT dbo.AVG_AGE_DEPT(6)
-----------
42
(1 row(s) affected)
/* SOMETHING WAS WRONG WITH THE FUNCTION SO I DECIEDED TO FIX IT */
ALTER function [dbo].[AVG_AGE_DEPT](
@DepartmentID SMALLINT
)
returns integer
as
begin
declare @AVGAGE INT
42. SELECT @AVGAGE= AVG(AGE)
FROM EMP_RECORDS
WHERE DepartmentID =@DepartmentID
RETURN(@AVGAGE)
END
USE MSSQL
SELECT dbo.AVG_AGE_DEPT(7)
-----------
41
(1 row(s) affected)
SELECT dbo.AVG_AGE_DEPT(6)
-----------
36
(1 row(s) affected)
USE MSSQL
GO
create function student_grad(
@STUDENT_ID decimal,
@SECTION_ID decimal
)
returns integer
as
begin
declare @Final_grade INT
SELECT @Final_grade= ROUND(sum(numeric_grade)/1000,2)* 100 from dbo.grade
where student_id = @STUDENT_ID
AND SECTION_ID = @SECTION_ID
RETURN(@Final_grade)
END
Command(s) completed successfully.
SELECT dbo.student_grad(202,105)
81
(1 row(s) affected)
SELECT dbo.student_grad(200,106)
-----------
93
(1 row(s) affected)
USE MSSQL
GO
CREATE FUNCTION [dbo].[PROFRECORD](@INSTRUCTOR_ID DECIMAL)
RETURNS TABLE
AS
RETURN(
SELECT I.SALUTATION, I.FIRST_NAME +','+ I.LAST_NAME AS PROFESSOR_NAME,
43. S.SECTION_NO, S.COURSE_NO, S.LOCATION, S.CAPACITY, C.DESCRIPTION, S.SECTION_ID
FROM DBO.INSTRUCTOR I INNER JOIN dbo.section S
ON I.INSTRUCTOR_ID = S.INSTRUCTOR_ID
INNER JOIN dbo.course C
ON S.COURSE_NO = C. COURSE_NO
INNER JOIN dbo.enrollment E
ON
S.SECTION_ID = E.SECTION_ID
WHERE I.INSTRUCTOR_ID = @INSTRUCTOR_ID
)
GO
SELECT I.SALUTATION, I.FIRST_NAME +','+ I.LAST_NAME AS PROFESSOR_NAME,
S.SECTION_NO, S.COURSE_NO, S.LOCATION, S.CAPACITY, C.DESCRIPTION, S.SECTION_ID
FROM DBO.INSTRUCTOR I INNER JOIN dbo.section S
ON I.INSTRUCTOR_ID = S.INSTRUCTOR_ID
INNER JOIN dbo.course C
ON S.COURSE_NO = C. COURSE_NO
INNER JOIN dbo.enrollment E
ON
S.SECTION_ID = E.SECTION_ID
CROSS APPLY dbo.PROFRECORD(I.INSTRUCTOR_ID)
ORDER BY C.DESCRIPTION
SALUTATION PROFESSOR_NAME SECTION_NO COURSE_NO LOCATION CAPACITY DESCRIPTION SECTION_ID
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC
Language
101
Mr Fernand,Hanks 1 240 L509 10 Intro to the BASIC 101
44. Language
RESULTS (ABRIDGED)
CREATE VIEW DEPTSUMMARY
AS
SELECT DISTINCT(DepartmentID),NAME,
AVG(AGE) OVER(PARTITION BY DepartmentID) AS Avg_Age,
MIN(AGE) OVER(PARTITION BY DepartmentID) AS Smallest_Age,
MAX(AGE)OVER(PARTITION BY DepartmentID) AS Oldest_Age
FROM
EMP_RECORDS
SELECT * FROM dbo.DEPTSUMMARY;
DepartmentID NAME Avg_Age Smallest_Age Oldest_Age
1 Engineering 53 42 69
2 Tool Design 45 32 62
3 Sales 50 41 70
4 Marketing 42 34 59
5 Purchasing 48 37 69
6 Research and Development 36 34 42
7 Production 41 30 69
8 Production Control 39 33 53
9 Human Resources 41 37 45
10 Finance 43 37 57
11 Information Services 41 33 46
12 Document Control 37 31 45
13 Quality Assurance 42 32 54
14 Facilities and Maintenance 51 45 67
15 Shipping and Receiving 42 36 49
16 Executive 48 45 52
CREATE FUNCTION DEPT_SUMMARRY()
RETURNS @SUMMARY TABLE
(DEPT_ID INTEGER,
DEPT_NAME NVARCHAR(50),
AVG_AGE INT,
SMALLEST_AGE INT,
OLDEST_AGE INT
)
AS
BEGIN
INSERT @SUMMARY(DEPT_ID, Avg_Age, Smallest_Age, Oldest_Age, DEPT_NAME)
SELECT DepartmentID, Avg_Age, Smallest_Age, Oldest_Age, NAME
FROM
dbo.DEPTSUMMARY
ORDER BY NAME
RETURN;
END;
SELECT * FROM DEPT_SUMMARRY()
45. DEPT_ID DEPT_NAME AVG_AGE SMALLEST_AGE OLDEST_AGE
12 Document Control 37 31 45
1 Engineering 53 42 69
16 Executive 48 45 52
14 Facilities and Maintenance 51 45 67
10 Finance 43 37 57
9 Human Resources 41 37 45
11 Information Services 41 33 46
4 Marketing 42 34 59
7 Production 41 30 69
8 Production Control 39 33 53
5 Purchasing 48 37 69
13 Quality Assurance 42 32 54
6 Research and Development 36 34 42
3 Sales 50 41 70
15 Shipping and Receiving 42 36 49
2 Tool Design 45 32 62
USE MSSQL
GO
CREATE FUNCTION productDetails()
RETURNS @Details TABLE
(ProductID int,
Name nvarchar(50),
color nvarchar(15),
StandardCost money,
ListPrice money,
Size nvarchar(5),
weight decimal,
WeightUnitMeasureCode nchar(3),
SizeUnitMeasureCode nchar(3),
PROD_SUB_CATEGORY_NAME nvarchar(50),
PROD_CATEGORY_NAME nvarchar(50),
MODEL_NAME NVARCHAR(50)
)
AS
BEGIN
INSERT @Details(ProductID,Name,StandardCost,ListPrice,Size,Weight, WeightUnitMeasureCode, SizeUnitMeasureCode,
PROD_SUB_CATEGORY_NAME,PROD_CATEGORY_NAME,MODEL_NAME)
SELECT p.ProductID, P.name,ROUND( p.StandardCost,2)StandardCost,
p.ListPrice,p.Size,p.Weight, p.WeightUnitMeasureCode,p.SizeUnitMeasureCode
,C.Name AS PROD_SUB_CATEGORY_NAME
, G.NAME AS PROD_CATEGORY_NAME,
M.Name AS MODEL_NAME
from
AdventureWorks.Production.Product p
inner
join
AdventureWorks.Production.ProductSubcategory C
ON
p.ProductSubcategoryID = C.ProductSubcategoryID
INNER JOIN
AdventureWorks.Production.ProductCategory G
ON C.ProductCategoryID = G.ProductCategoryID
INNER JOIN
AdventureWorks.Production.ProductModel M
ON P.ProductModelID = M.ProductModelID
ORDER BY P.NAME
46. RETURN;
END;
SELECT * FROM dbo.productDetails()
ProductID Name color Standard
Cost
ListPrice Size weight WeightUnit
MeasureCode
SizeUnit
MeasureCode
PROD_SUB_CATEGORY_NAME PROD_CATEGORY_NAME MODEL_NAME
879 All-Purpose Bike
Stand
59.47 159 Bike Stands Accessories All-Purpose Bike Stand
712 AWC Logo Cap 6.92 8.99 Caps Clothing Cycling Cap
877 Bike Wash -
Dissolver
2.97 7.95 Cleaners Accessories Bike Wash
843 Cable Lock 10.31 25 Locks Accessories Cable Lock
952 Chain 8.99 20.24 Chains Components Chain
866 Classic Vest, L 23.75 63.5 L Vests Clothing Classic Vest
865 Classic Vest, M 23.75 63.5 M Vests Clothing Classic Vest
864 Classic Vest, S 23.75 63.5 S Vests Clothing Classic Vest
878 Fender Set -
Mountain
8.22 21.98 Fenders Accessories Fender Set - Mountain
863 Full-Finger Gloves,
L
15.67 37.99 L Gloves Clothing Full-Finger Gloves
862 Full-Finger Gloves,
M
15.67 37.99 M Gloves Clothing Full-Finger Gloves
RESULTS (ABRIDGED)
/* DEFAULT DATABASE MASTER. ADVENTUREWORKS DATABASE WAS EXPORTED FROM MICROSOFT SQL SERVER 2008 INTO MICROSOFT SQL SERVER 2008R2 */
select E.EmployeeID, P.FirstName + ',' + P.LastName AS Employee_Name,
E.BirthDate, CONVERT(nvarchar(12), E.BirthDate, 101) as Birthdate_American,
CONVERT(nvarchar(12), E.BirthDate, 103) as Birthdate_European,
CONVERT(nvarchar(12), E.BirthDate, 100) as Birthdate_default
from HumanResources.Employee E
INNER JOIN
Person.Contact P
ON E.ContactID = P.ContactID
order by e.EmployeeI
51. declare @name nvarchar(140);
exec dbo.customerdetails5 '11', @name output
print @name;
/* inserting data using stored procedure */
USE master
create table GRADSTUDENT
(student_id int identity(0240, 120)
constraint stud_studentid_pk primary key,
first_name nvarchar(30),
last_name nvarchar(30)
)
Go
USE master
GO
create PROC STUDENTINSERT
AS
SET NOCOUNT ON;
SELECT FIRST_NAME, LAST_NAME FROM MSSQL.dbo.student;
SELECT FIRSTNAME, LASTNAME FROM AdventureWorksLT2008R2.SalesLT.Customer;
RETURN ;
INSERT INTO dbo.GRADSTUDENT (First_Name, last_name)
Exec STUDENTINSERT;
(1115 row(s) affected)
select * from dbo.GRADSTUDENT
52. Student Record
student id first name last name
240 Fred Crocitto
360 J. Landry
480 Laetia Enison
600 Angel Moskowitz
720 Judith Olvsade
840 Catherine Mierzwa
960 Judy Sethi
1080 Larry Walter
1200 Maria Martin
1320 Peggy Noviello
1440 Thomas Thomas
1560 Anil Kulina
1680 Winsome Laporte
1800 N Kuehn
1920 Hiedi Lopez
2040 Mardig Abdou
2160 Ralph Alexander
2280 Sean Pineda
2400 Julita Lippen
2520 Pierre Radicola
2640 Daniel Wicelinski
2760 Gary Aung
2880 Jeff Runyan
3000 Omaira Grant
3120 Lula Oates
3240 James Reed
3360 Angela Torres
3480 Michelle Masser
3600 Hazel Lasseter
3720 James Miller
3840 John Smith
3960 Angelo Garshman
4080 Derrick Baltazar
4200 Robert Boyd
4320 Monica Waldman
4440 Gerard Biers
4560 David Essner
4680 Paul Lefkowitz
RESULTS (ABRIDGED)
/* Using cursor to mainpluate data */
use AdventureWorksdw
go
create view adventcust
as
select c.CustomerKey, c.FirstName, c.MiddleName, c.LastName, c.Gender, c.BirthDate, g.City, g.StateProvinceCode as state_code,
g.EnglishCountryRegionName as country_code from DimCustomer c
inner join
dbo.DimGeography g
on
c.GeographyKey = g.GeographyKey;
use AdventureWorksdw