Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --1
- CREATE DATABASE Priprema1
- USE Priprema1
- GO
- CREATE TABLE Proizvodi
- (
- ProizvodID INT NOT NULL IDENTITY (1,1) CONSTRAINT PK_Proizvodi PRIMARY KEY,
- Sifra NVARCHAR(10) NOT NULL CONSTRAINT UQ_Sifra UNIQUE,
- Naziv NVARCHAR(50) NOT NULL,
- Cijena DECIMAL(18,2)
- )
- CREATE TABLE Skladista
- (
- SkladisteID INT NOT NULL IDENTITY (1,1) CONSTRAINT PK_Skladista PRIMARY KEY,
- Naziv NVARCHAR(50) NOT NULL,
- Oznaka NVARCHAR(10) NOT NULL CONSTRAINT UQ_Oznaka UNIQUE,
- Lokacija NVARCHAR(50) NOT NULL
- )
- CREATE TABLE SkladisteProizvodi
- (
- ProizvodID INT NOT NULL CONSTRAINT FK_SkladisteProizvodi_Proizvodi FOREIGN KEY REFERENCES Proizvodi (ProizvodID),
- SkladisteID INT NOT NULL CONSTRAINT FK_SkladisteProizvodi_Skladista FOREIGN KEY REFERENCES Skladista (SkladisteID),
- CONSTRAINT PK_SkladisteProizvodi PRIMARY KEY (ProizvodID, SkladisteID),
- Stanje DECIMAL(18,2) NOT NULL
- )
- --2
- INSERT INTO Skladista
- VALUES ('Skladiste One', 'SK1', 'Mostar'),
- ('Skladiste Two', 'Sk2', 'Sarajevo'),
- ('Skladiste Three', 'Sk3', 'Banja Luka')
- USE AdventureWorks2017
- GO
- INSERT INTO Priprema1.dbo.Proizvodi
- SELECT TOP 10 S.ProductNumber, S.Name, S.ListPrice
- FROM (SELECT P.ProductNumber, PS.Name, P.ListPrice, COUNT(SOD.ProductID) AS NajProdavaniji
- FROM Production.Product AS P INNER JOIN Production.ProductSubcategory AS PS
- ON P.ProductSubcategoryID = PS.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PC
- ON PS.ProductCategoryID = PC.ProductCategoryID INNER JOIN Sales.SalesOrderDetail AS SOD
- ON P.ProductID = SOD.ProductID
- WHERE PS.Name LIKE '%Bikes%'
- GROUP BY P.ProductNumber, PS.Name, P.ListPrice) AS S
- ORDER BY S.ListPrice DESC
- USE Priprema1
- GO
- INSERT INTO SkladisteProizvodi
- SELECT P.ProizvodID, (SELECT S.SkladisteID
- FROM Skladista AS S
- WHERE S.SkladisteID = 1), 100
- FROM Proizvodi AS P
- INSERT INTO SkladisteProizvodi
- SELECT P.ProizvodID, (SELECT S.SkladisteID
- FROM Skladista AS S
- WHERE S.SkladisteID = 2), 100
- FROM Proizvodi AS P
- INSERT INTO SkladisteProizvodi
- SELECT P.ProizvodID, (SELECT S.SkladisteID
- FROM Skladista AS S
- WHERE S.SkladisteID = 3), 100
- FROM Proizvodi AS P
- --3
- CREATE PROCEDURE usp_stanje_update
- (
- @ProizvodID INT,
- @SkladisteID INT
- )
- AS
- BEGIN
- UPDATE SkladisteProizvodi
- SET Stanje = Stanje + 15 --moze li se omoguciti da svaki put proizvoljno unesemo povecanje
- WHERE ProizvodID = @ProizvodID AND SkladisteID = @SkladisteID
- END
- EXEC usp_stanje_update 1, 1
- --4
- CREATE NONCLUSTERED INDEX IX_Proizvodi ON Proizvodi
- (Sifra, Naziv) INCLUDE (Cijena)
- SELECT * FROM Proizvodi
- WHERE Sifra IS NULL OR Cijena > 95
- ALTER INDEX IX_Proizvodi ON Proizvodi
- DISABLE
- --5
- CREATE VIEW view_pro_skl_sklpro AS
- SELECT P.Sifra, P.Naziv, P.Cijena, S.Oznaka, S.Naziv AS N, S.Lokacija, SK.Stanje
- FROM Proizvodi AS P INNER JOIN SkladisteProizvodi AS SK
- ON P.ProizvodID = SK.ProizvodID INNER JOIN Skladista AS S
- ON SK.SkladisteID = S.SkladisteID
- --6
- CREATE PROCEDURE usp_sifra_proizvoda
- (
- @Sifra NVARCHAR(10)
- )
- AS
- BEGIN
- SELECT V.Sifra, V.Naziv, V.Cijena, SUM(V.Stanje) AS Ukupno
- FROM view_pro_skl_sklpro AS V
- WHERE Sifra = @Sifra
- GROUP BY V.Sifra, V.Naziv, V.Cijena
- END
- EXEC usp_sifra_proizvoda 'BK-R93R-56'
- --7
- CREATE PROCEDURE usp_insert_proizvodi
- (
- @Sifra NVARCHAR(10),
- @Naziv NVARCHAR(50),
- @Cijena DECIMAL(18,2)
- )
- AS
- BEGIN
- INSERT INTO Proizvodi
- VALUES (@Sifra, @Naziv, @Cijena)
- INSERT INTO SkladisteProizvodi
- VALUES ((SELECT ProizvodID FROM Proizvodi WHERE Naziv = @Naziv), 1, 0)
- INSERT INTO SkladisteProizvodi
- VALUES ((SELECT ProizvodID FROM Proizvodi WHERE Naziv = @Naziv), 2, 0)
- INSERT INTO SkladisteProizvodi
- VALUES ((SELECT ProizvodID FROM Proizvodi WHERE Naziv = @Naziv), 3, 0)
- END
- EXEC usp_insert_proizvodi '123-456-78', 'Novi Naziv', 1599
- --8
- CREATE PROCEDURE usp_delete_proizvod
- (
- @Sifra NVARCHAR(10)
- )
- AS
- BEGIN
- DELETE SkladisteProizvodi
- FROM Proizvodi AS P INNER JOIN SkladisteProizvodi AS SK
- ON P.ProizvodID = SK.ProizvodID AND Sifra = @Sifra
- DELETE FROM Proizvodi
- WHERE Sifra = @Sifra
- END
- EXEC usp_delete_proizvod '123-456-78'
- --9
- --a
- CREATE PROCEDURE usp_procedura
- AS
- BEGIN
- SELECT * FROM view_pro_skl_sklpro
- END
- EXEC usp_procedura
- --b
- ALTER PROCEDURE usp_procedura
- (
- @Sifra NVARCHAR(10)
- )
- AS
- BEGIN
- SELECT * FROM view_pro_skl_sklpro
- WHERE Sifra = @Sifra
- END
- EXEC usp_procedura 'BK-R93R-56'
- --c
- ALTER PROCEDURE usp_procedura
- (
- @Sifra NVARCHAR(10),
- @Oznaka NVARCHAR(10)
- )
- AS
- BEGIN
- SELECT * FROM view_pro_skl_sklpro
- WHERE Sifra = @Sifra AND Oznaka = @Oznaka
- END
- EXEC usp_procedura 'BK-R93R-56', 'Sk3'
- --d
- ALTER PROCEDURE usp_procedura
- (
- @Sifra NVARCHAR(10),
- @Lokacija NVARCHAR(50)
- )
- AS
- BEGIN
- SELECT * FROM view_pro_skl_sklpro
- WHERE Sifra = @Sifra AND Lokacija = @Lokacija
- END
- EXEC usp_procedura 'BK-R93R-56', 'Mostar'
- --e
- ALTER PROCEDURE usp_procedura
- (
- @Sifra NVARCHAR(10),
- @Oznaka NVARCHAR(10),
- @Lokacija NVARCHAR(50)
- )
- AS
- BEGIN
- SELECT * FROM view_pro_skl_sklpro
- WHERE Sifra = @Sifra AND Oznaka = @Oznaka AND Lokacija = @Lokacija
- END
- EXEC usp_procedura 'BK-R93R-56', 'Sk3', 'Banja Luka'
- --10
- BACKUP DATABASE Priprema1 TO
- DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\Priprema1.bak'
- BACKUP DATABASE Priprema1 TO
- DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\Priprema1_diff.bak'
- WITH DIFFERENTIAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement