Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Vježba 8 – INSERT, UPDATE, DELETE
- --NAPOMENA: Vježba se radi nad bazom podataka Northwind.
- --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.
- USE Northwind
- INSERT INTO Customers
- VALUES('SMIMI','Fresh beverages','Mike Smith','CEO','Neverwinter st. 666','London',NULL,'1337','UK',NULL,NULL)
- SELECT *
- FROM Customers
- WHERE CustomerID='SMIMI'
- USE AdventureWorks2012
- INSERT INTO Northwind.dbo.Customers
- 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
- FROM Person.Person AS PP
- LEFT JOIN Person.BusinessEntityContact AS PBE ON PP.BusinessEntityID=PBE.BusinessEntityID
- LEFT JOIN Sales.Customer AS SC ON PBE.PersonID=SC.PersonID
- JOIN Person.BusinessEntityAddress AS BE ON PP.BusinessEntityID=BE.BusinessEntityID
- JOIN Person.Address AS PA ON BE.AddressID=PA.AddressID
- JOIN Person.StateProvince AS PSP ON PA.StateProvinceID=PSP.StateProvinceID
- JOIN Person.CountryRegion AS PCR ON PSP.CountryRegionCode=PCR.CountryRegionCode
- JOIN Person.PersonPhone AS PPP ON PP.BusinessEntityID=PPP.BusinessEntityID
- ORDER BY NEWID()--pravi random listu 5 podataka, svaki put nove izlistava
- --2. Dodati kategoriju proizvoda i pridružiti joj 3 nova proizvoda čiji dobavljač dolazi iz Bosne i Hercegovine (Categories, Products, Suppliers).
- USE Northwind
- SELECT *
- FROM Categories
- INSERT INTO Categories
- VALUES('Water','Clean bottled water',NULL)
- SELECT *
- FROM Suppliers
- INSERT INTO Suppliers
- VALUES('H20 Supplies','Mike Smith','CEO', 'Wonderstreet 222', 'Sarajevo', NULL,71000,'BiH',NULL,NULL,'http://h20supplies.com')
- SELECT *
- FROM Products
- INSERT INTO Products
- VALUES('Mineral water',30,9,'0,5l','3',20,10,10,0),
- ('Mineral carbonated water',30,9,'0,5l',5,20,10,10,0),
- ('Mineral water',30,9,'2l','6',20,10,10,0)
- --3. U tabelu Employees dodati 2 zaposlenika iz baze podataka AdventureWorks2012. Voditi računa o kompatibilnosti podataka.
- USE Northwind
- SELECT *
- FROM Employees
- USE AdventureWorks2012
- INSERT INTO Northwind.dbo.Employees
- 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
- FROM HumanResources.Employee AS HE JOIN Person.Person AS PP
- ON HE.BusinessEntityID=PP.BusinessEntityID JOIN Person.BusinessEntityAddress AS PB
- ON PP.BusinessEntityID=PB.BusinessEntityID JOIN Person.Address AS PA
- ON PB.AddressID=PA.AddressID JOIN Person.StateProvince AS PS
- ON PA.StateProvinceID=PS.StateProvinceID JOIN Person.PersonPhone AS PPP
- ON PP.BusinessEntityID=PPP.BusinessEntityID
- --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.
- -- Za ostale kolone unijeti testne podatke.
- USE Northwind
- SELECT *
- FROM Orders
- USE Northwind
- INSERT INTO Orders
- VALUES('SMIMI',10,GETDATE(),'2014/6/26','2014/6/2',3,'20','test','something123','Amsterdam',NULL,73330,'Bosnia')
- --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.
- USE Northwind
- SELECT *
- FROM [Order Details]
- USE Northwind
- INSERT INTO [Order Details]
- VALUES(11080,80,6,10,0.20)
- --6. Nekom od kupaca dodanih u zadatku 1 izmijeniti broj telefona i fax.
- USE Northwind
- SELECT *
- FROM Customers
- WHERE CustomerID='SMIMI'
- USE Northwind
- UPDATE Customers
- SET Phone='033/444-555',Fax='033/444-777'
- WHERE CustomerID='SMIMI'
- --7. Izmijeniti cijenu za nova 3 proizvoda. Cijenu umanjiti za 10%.
- USE Northwind
- SELECT *
- FROM Products
- USE Northwind
- UPDATE Products
- SET UnitPrice=UnitPrice-(UnitPrice*0.1)
- WHERE ProductID>=82 --kod mene ovo obuhvata zadnja 3 reda (3 nova proizvoda)
- --8. Obrisati sve zaposlenike koji nisu uradili niti jednu narudžbu.
- DELETE FROM Employees
- WHERE EmployeeID IN(
- SELECT E.EmployeeID
- FROM Employees AS E LEFT JOIN Orders AS O
- ON E.EmployeeID=O.EmployeeID
- GROUP BY E.EmployeeID
- HAVING COUNT(O.EmployeeID)=0
- --9. Obrisati sve kupce koji nisu uradili niti jednu narudžbu.
- USE Northwind
- DELETE FROM Customers
- WHERE CustomerID IN(
- SELECT C.CustomerID
- FROM Customers AS C LEFT JOIN Orders AS O
- ON C.CustomerID=O.CustomerID
- GROUP BY C.CustomerID
- HAVING COUNT(O.CustomerID)=0)
- --10. Obrisati narudžbu koja je dodana u zadatku 4 sa detaljima.
- SELECT *
- FROM Orders
- DELETE FROM [Order Details]
- WHERE OrderID=11081
- DELETE FROM Orders
- WHERE OrderID=11078
Add Comment
Please, Sign In to add comment