Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE DATABASE Testiranje1
- USE Testiranje1
- 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) NOT NULL
- )
- CREATE TABLE Skladista
- (
- SkladisteID INT NOT NULL IDENTITY (1,1) CONSTRAINT PK_Skladista PRIMARY KEY,
- Naziv NVARCHAR(50) NOT NULL,
- Oznaka NVARCHAR(50) 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
- )
- INSERT INTO Skladista
- VALUES ('Skladiste One', 'SK1', 'Mostar'),
- ('Skladiste Two', 'SK2', 'Mostar'),
- ('Skladiste Three', 'SK3', 'Sarajevo')
- USE AdventureWorks2017
- GO
- INSERT INTO Testiranje1.dbo.Proizvodi
- SELECT TOP 10 K.ProductNumber, K.Name, K.ListPrice
- FROM (SELECT P.ProductNumber, PS.Name, P.ListPrice, COUNT(SOD.ProductID) AS NajProdavaniji
- FROM Sales.SalesOrderDetail AS SOD INNER JOIN Production.Product AS P
- ON SOD.ProductID = P.ProductID INNER JOIN Production.ProductSubcategory AS PS
- ON P.ProductSubcategoryID = PS.ProductSubcategoryID INNER JOIN Production.ProductCategory AS PC
- ON PS.ProductCategoryID = PC.ProductCategoryID
- WHERE PC.Name LIKE '%Bikes%'
- GROUP BY P.ProductNumber, PS.Name, P.ListPrice) AS K
- ORDER BY K.ListPrice DESC
- USE Testiranje1
- 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
- CREATE PROCEDURE usp_proizvod_update
- (
- @ProizvodID INT,
- @SkladisteID INT,
- @Stanje DECIMAL(18,2)
- )
- AS
- BEGIN
- UPDATE SkladisteProizvodi
- SET Stanje+=@Stanje
- WHERE ProizvodID = @ProizvodID AND SkladisteID = @SkladisteID
- END
- SELECT * FROM Proizvodi
- SELECT * FROM Skladista
- SELECT * FROM SkladisteProizvodi
- EXEC usp_proizvod_update 1,1,25
- CREATE NONCLUSTERED INDEX IX_Proizvodi_New ON
- Proizvodi (Sifra, Naziv) INCLUDE (Cijena)
- ALTER INDEX IX_Proizvodi_New ON Proizvodi
- DISABLE
- SELECT P.Sifra, P.Naziv, P.Cijena
- FROM Proizvodi AS P
- WHERE P.Sifra IS NOT NULL AND P.Cijena > 25
- CREATE VIEW view_prikazi_sve AS
- SELECT P.Sifra, P.Naziv, P.Cijena, S.Oznaka, S.Naziv AS 'Naziv Skladista', S.Lokacija, SP.Stanje
- FROM Proizvodi AS P INNER JOIN SkladisteProizvodi AS SP
- ON P.ProizvodID = SP.ProizvodID INNER JOIN Skladista AS S
- ON SP.SkladisteID = S.SkladisteID
- SELECT * FROM view_prikazi_sve
- CREATE PROCEDURE usp_proizvodi_select
- (
- @Sifra NVARCHAR(10)
- )
- AS
- BEGIN
- SELECT v.Sifra, v.Naziv, v.Cijena, SUM(v.Stanje) AS Ukupno
- FROM view_prikazi_sve AS v
- WHERE v.Sifra = @Sifra
- GROUP BY v.Sifra, v.Naziv, v.Cijena
- END
- SELECT * FROM Proizvodi
- SELECT * FROM Skladista
- SELECT * FROM SkladisteProizvodi
- EXEC usp_proizvodi_select 'BK-R93R-56'
- CREATE PROCEDURE usp_proizvodi_insert
- (
- @Sifra NVARCHAR(10),
- @Naziv NVARCHAR(50),
- @Cijena DECIMAL(18,2)
- )
- AS
- BEGIN
- INSERT INTO Proizvodi
- VALUES (@Sifra, @Naziv, @Cijena)
- INSERT INTO SkladisteProizvodi
- SELECT P.ProizvodID, (SELECT S.SkladisteID
- FROM Skladista AS S
- WHERE S.SkladisteID = 1), 0
- FROM Proizvodi AS P
- WHERE P.Sifra = @Sifra
- INSERT INTO SkladisteProizvodi
- SELECT P.ProizvodID, (SELECT S.SkladisteID
- FROM Skladista AS S
- WHERE S.SkladisteID = 2), 0
- FROM Proizvodi AS P
- WHERE P.Sifra = @Sifra
- INSERT INTO SkladisteProizvodi
- SELECT P.ProizvodID, (SELECT S.SkladisteID
- FROM Skladista AS S
- WHERE S.SkladisteID = 3), 0
- FROM Proizvodi AS P
- WHERE P.Sifra = @Sifra
- END
- SELECT * FROM Proizvodi
- SELECT * FROM Skladista
- SELECT * FROM SkladisteProizvodi
- EXEC usp_proizvodi_insert 'BK-A90S-28', 'Golf V', 10000
- CREATE PROCEDURE usp_proizvod_delete
- (
- @Sifra NVARCHAR(10)
- )
- AS
- BEGIN
- DELETE SkladisteProizvodi
- FROM SkladisteProizvodi AS SP INNER JOIN Proizvodi AS P
- ON SP.ProizvodID = P.ProizvodID AND P.Sifra = @Sifra
- DELETE Proizvodi
- WHERE Sifra = @Sifra
- END
- EXEC usp_proizvod_delete 'BK-A90S-28'
- CREATE PROCEDURE usp_pretraga_three
- (
- @Sifra NVARCHAR(10) = NULL,
- @Oznaka NVARCHAR(50) = NULL,
- @Lokacija NVARCHAR(50) = NULL
- )
- AS
- BEGIN
- SELECT *
- FROM view_prikazi_sve as v
- WHERE (Sifra = @Sifra OR @Sifra IS NULL) AND (Oznaka = @Oznaka OR @Oznaka IS NULL) AND (Lokacija = @Lokacija OR @Lokacija IS NULL)
- END
- EXEC usp_pretraga_three
- EXEC usp_pretraga_three 'BK-R93R-56'
- EXEC usp_pretraga_three 'BK-R93R-56', 'SK2'
- EXEC usp_pretraga_three 'BK-R93R-56', @Lokacija = 'Mostar'
- EXEC usp_pretraga_three 'BK-R93R-56', 'SK2', 'Mostar'
- BACKUP DATABASE Testiranje1 TO
- DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\Testiranje1.bak'
- BACKUP DATABASE Testiranje1 TO
- DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\Testiranje1_diff.bak'
- WITH DIFFERENTIAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement