uraharadono

Vježba 8

Sep 6th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
Add Comment
Please, Sign In to add comment