View difference between Paste ID: 2zPPzEg0 and TwqYYCyY
SHOW: | | - or go back to the newest paste.
1
--Vježba 8 – INSERT, UPDATE, DELETE
2
3
--NAPOMENA: Vježba se radi nad bazom podataka Northwind. 
4
--1. U tabelu Customers dodati sebe kao kupca. Također, u istu tabelu dodati 5 (Random) kupaca iz baze podataka AdventureWorks2012. Voditi računa o kompatibilnosti podataka.
5
USE Northwind
6
INSERT INTO Customers
7
VALUES('SMIMI','Fresh beverages','Mike Smith','CEO','Neverwinter st. 666','London',NULL,'1337','UK',NULL,NULL) 
8
9
SELECT *
10
FROM Customers
11
WHERE CustomerID='SMIMI'
12
13
USE AdventureWorks2012
14
INSERT INTO Northwind.dbo.Customers
15
SELECT TOP 5 UPPER(LEFT(PP.FirstName,3)+LEFT(PP.LastName,2)),'nepoznato',PP.FirstName+' '+PP.LastName,'nepoznato', PA.AddressLine1, NULL, PCR.CountryRegionCode,PA.PostalCode,LEFT(PCR.Name,15),PPP.PhoneNumber, NULL
16
FROM Person.Person AS PP
17
LEFT JOIN Person.BusinessEntityContact AS PBE ON PP.BusinessEntityID=PBE.BusinessEntityID
18
LEFT JOIN Sales.Customer AS SC ON PBE.PersonID=SC.PersonID
19
JOIN Person.BusinessEntityAddress AS BE ON PP.BusinessEntityID=BE.BusinessEntityID
20
JOIN Person.Address AS PA ON BE.AddressID=PA.AddressID
21
JOIN Person.StateProvince AS PSP ON PA.StateProvinceID=PSP.StateProvinceID
22
JOIN Person.CountryRegion AS PCR ON PSP.CountryRegionCode=PCR.CountryRegionCode
23
JOIN Person.PersonPhone AS PPP ON PP.BusinessEntityID=PPP.BusinessEntityID
24
ORDER BY NEWID()--pravi random listu 5 podataka, svaki put nove izlistava
25
26
--2. Dodati kategoriju proizvoda i pridružiti joj 3 nova proizvoda čiji dobavljač dolazi iz Bosne i Hercegovine (Categories, Products, Suppliers).
27
USE Northwind
28
29
SELECT *
30
FROM Categories
31
32
INSERT INTO Categories
33
VALUES('Water','Clean bottled water',NULL)
34
35
SELECT *
36
FROM Suppliers
37
38
INSERT INTO Suppliers
39
VALUES('H20 Supplies','Mike Smith','CEO', 'Wonderstreet 222', 'Sarajevo', NULL,71000,'BiH',NULL,NULL,'http://h20supplies.com')
40
41
SELECT *
42
FROM Products
43
44
INSERT INTO Products
45
VALUES('Mineral water',30,9,'0,5l','3',20,10,10,0),
46
('Mineral carbonated water',30,9,'0,5l',5,20,10,10,0),
47
('Mineral water',30,9,'2l','6',20,10,10,0)
48
49
--3. U tabelu Employees dodati 2 zaposlenika iz baze podataka AdventureWorks2012. Voditi računa o kompatibilnosti podataka.
50
USE Northwind
51
SELECT *
52
FROM Employees
53
54
USE AdventureWorks2012
55
INSERT INTO Northwind.dbo.Employees
56
SELECT TOP 2 PP.LastName, PP.FirstName, HE.JobTitle,PP.Title,HE.BirthDate,HE.HireDate, PA.AddressLine1,Pa.City, PS.StateProvinceCode, PA.PostalCode, PS.CountryRegionCode,PPP.PhoneNumber,NULL,NULL,'nema',NULL,NULL
57
FROM HumanResources.Employee AS HE JOIN Person.Person AS PP
58
ON HE.BusinessEntityID=PP.BusinessEntityID JOIN Person.BusinessEntityAddress AS PB
59
ON PP.BusinessEntityID=PB.BusinessEntityID JOIN Person.Address AS PA
60
ON PB.AddressID=PA.AddressID JOIN Person.StateProvince AS PS
61
ON PA.StateProvinceID=PS.StateProvinceID JOIN Person.PersonPhone AS PPP 
62
ON PP.BusinessEntityID=PPP.BusinessEntityID
63
64
--4. Dodati novu narudžbu (Orders). Postaviti trenutno vrijeme za datum narudžbe, nekog od kupaca koji je dodan u zadatku 1, te nekog od zaposlenika koji je dodan u zadatku 3. 
65
--   Za ostale kolone unijeti testne podatke.
66
USE Northwind
67
SELECT *
68
FROM Orders
69
70
USE Northwind
71
INSERT INTO Orders
72
VALUES('SMIMI',10,GETDATE(),'2014/6/26','2014/6/2',3,'20','test','something123','Amsterdam',NULL,73330,'Bosnia')
73
74
--5. Za prethodno dodanu narudžbu dodati detalje (Order Details) uključujući proizvode koji su dodani u zadatku 2. Cijenu, količinu i popust postaviti proizvoljno.
75
USE Northwind
76
SELECT *
77
FROM [Order Details]
78
79
USE Northwind
80
INSERT INTO [Order Details]
81
VALUES(11080,80,6,10,0.20)
82
83
--6. Nekom od kupaca dodanih u zadatku 1 izmijeniti broj telefona i fax.
84
USE Northwind
85
SELECT *
86
FROM Customers
87
WHERE CustomerID='SMIMI'
88
89
USE Northwind
90
UPDATE Customers
91
SET Phone='033/444-555',Fax='033/444-777'
92
WHERE CustomerID='SMIMI'
93
94
--7. Izmijeniti cijenu za nova 3 proizvoda. Cijenu umanjiti za 10%.
95
USE Northwind
96
SELECT *
97
FROM Products
98
99
USE Northwind
100
UPDATE Products
101
SET UnitPrice=UnitPrice-(UnitPrice*0.1)
102
WHERE ProductID>=82 --kod mene ovo obuhvata zadnja 3 reda (3 nova proizvoda)
103
104
--8. Obrisati sve zaposlenike koji nisu uradili niti jednu narudžbu.
105
DELETE FROM Employees
106
WHERE EmployeeID IN(
107
SELECT E.EmployeeID
108
FROM Employees AS E LEFT JOIN Orders AS O
109
ON E.EmployeeID=O.EmployeeID
110
GROUP BY E.EmployeeID
111
HAVING COUNT(O.EmployeeID)=0
112
113
114
--9. Obrisati sve kupce koji nisu uradili niti jednu narudžbu.
115
USE Northwind
116
DELETE FROM Customers
117
WHERE CustomerID IN(
118
SELECT C.CustomerID
119
FROM Customers AS C LEFT JOIN Orders AS O
120
ON C.CustomerID=O.CustomerID
121
GROUP BY C.CustomerID
122
HAVING COUNT(O.CustomerID)=0)
123
124
--10. Obrisati narudžbu koja je dodana u zadatku 4 sa detaljima.
125
SELECT *
126
FROM Orders
127
128
DELETE FROM [Order Details]
129
WHERE OrderID=11081
130
131
DELETE FROM Orders
132
WHERE OrderID=11078