Salvestatud protseduuri/SQL Server

See on tavaline programm või funktsioon, mis käivitab mitu tegevust

TABLE PIDUPÄEV

CREATE TABLE pidupaev(
id int primary key identity (1,1),
kuupaev date,
pidu varchar(50),
riik varchar(50));
INSERT INTO pidupaev(kuupaev,pidu,riik)
VALUES ('2024-02-24','Iseseisvuspäev','Eesti');
Select * from pidupaev;

–kuvab kõik mis on tabelis

--kuvab kõik mis on tabelis
USE ValeriaAllikTARpv23;
GO
CREATE PROCEDURE tabeliKuvamine
AS
BEGIN
	SELECT * FROM pidupaev;
END;
--kutse
EXEC tabeliKuvamine;

--
USE ValeriaAllikTARpv23;
GO
CREATE PROCEDURE lisaTabeli
	@kuupaev date,
	@pidu varchar(50),
	@riik varchar(50)
AS
BEGIN
	INSERT INTO pidupaev(kuupaev,pidu,riik)
	VALUES (@kuupaev,@pidu,@riik);
	SELECT * FROM pidupaev;
END;
--kutse
EXEC lisaTabeli '2024-12-25','Esimene jõulupüha','Eesti'

–kustuta ID järgi

--kustuta ID järgi
USE ValeriaAllikTARpv23;
GO
CREATE PROCEDURE kustutaIdjargi
	@deleteid int 
AS
BEGIN
	SELECT * FROM pidupaev;
	DELETE FROM pidupaev
	where id=@deleteid;
	SELECT * FROM pidupaev;
END;
--kutse 
EXEC kustutaIdjargi @deleteid=2;
EXEC kustutaIdjargi 2;

Programmability

USE [ValeriaAllikTARpv23]
GO
/****** Object:  StoredProcedure [dbo].[tabeliKuvamine]    Script Date: 22.02.2024 08:58:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[tabeliKuvamine]
AS
BEGIN
	SELECT * FROM pidupaev
	ORDER BY pidu;
END;

–kuvame kõik peod mis algavad A tähega

--kuvame kõik peod mis algavad A tähega
USE ValeriaAllikTARpv23;
GO
CREATE PROCEDURE peodAlgavad
	@taht char (1)
AS
BEGIN
	SELECT kuupaev, pidu
	FROM pidupaev
	where pidu Like @taht + '%'; 
END;
--kutse
EXEC peodAlgavad 'I';
EXEC peodAlgavad @taht='I';

–kuvame kõik peod mis on ühe kuu jooksul

--kuvame kõik peod mis on ühe kuu jooksul
USE ValeriaAllikTARpv23;
GO
CREATE PROCEDURE kuuPeod
	@kuupaev1 date,
	@kuupaev2 date
AS
BEGIN
	select kuupaev, pidu
	from pidupaev
	WHERE kuupaev between @kuupaev1 and @kuupaev2;
END;
--kutse
EXEC kuuPeod @kuupaev1='2024-05-01', @kuupaev2='2024-05-19' ;
EXEC kuuPeod '2024-02-01', '2024-02-29' ;

Comments

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga