Создание таблицы и ее заполнение
CREATE table kool(
id int primary key identity(1,1),
koolNimi varchar(30) unique,
aadress text,
kontaktTelefon varchar (13),
regNumber varchar(10));
INSERT into kool(koolNimi, aadress, kontaktTelefon, regNumber)
Values('Tallinna Kutsekool','Tehnika 2, Tallinn ','+3725369932','NVAj2013');
select * from kool
USE protseduuridLastovski;
exec helloKool;
Создание процедуры
USE protseduuridLastovski;
GO
Create Procedure helloKool AS
Begin
Select * from kool
End;
Вызов процедуры
USE protseduuridLastovski;
exec helloKool;
Удаление процедуры
USE protseduuridLastovski;
drop procedure helloKool;
Создание процедуры на добавления данных в таблицу
USE protseduuridLastovski;
GO
CREATE PROCEDURE AddProduct
@koolNimi VARCHAR(30),
@aadress text,
@kontaktTelefon varchar(13),
@regNumber varchar(10)
AS
INSERT INTO kool(koolNimi, aadress, kontaktTelefon, regNumber)
VALUES(@koolNimi, @aadress, @kontaktTelefon, @regNumber)
Использование процедуры
USE protseduuridLastovski;
DECLARE @koolNimi VARCHAR(30), @aadress text;
DECLARE @kontaktTelefon varchar(13), @regNumber varchar(10)
SET @koolNimi = 'Karjamaa Põhikool'
SET @aadress = 'Karjamaa 21'
SET @kontaktTelefon = '+3725385845'
SET @regNumber = 'LLLOA1'
EXEC AddKool @koolNimi, @aadress, @kontaktTelefon, @regNumber
SELECT * FROM kool
-------ИЛИ-------
USE protseduuridLastovski;
EXEC AddKool 'Karjamaa Põhikool', 'Karjamaa 21', '+3725385845', 'LLLOA1'
SELECT * FROM kool
Процедура, при запуске которой пользователей вводит 1 букву имени школы и отображаются все данные о этих школах
-------СОЗДАНИЕ-------
USE protseduuridLastovski;
Go
Create procedure nimiOtsing
@taht varchar(1)
AS
Begin
Select * from kool
where koolNimi like @taht + '%';
End;
-------ИСПОЛЬЗОВАНИЕ-------
USE protseduuridLastovski;
exec nimiOtsing 'K';

Процедура при запуске спрашивает id и удаляет эту запись
-------СОЗДАНИЕ-------
USE protseduuridLastovski;
Go
Create procedure koolDelete
@deleteID int
AS
Begin
delete from kool
where id = @deleteID;
select * from kool
End;
-------ИСПОЛЬЗОВАНИЕ-------
USE protseduuridLastovski;
exec koolDelete 6;

Добавление нового поля
ALTER table kool add maksimus money
Создание процедуры для вывода мин/макс цены
-------СОЗДАНИЕ-------
USE protseduuridLastovski;
GO
CREATE PROCEDURE kooliMaksumus
@minPrice MONEY OUTPUT,
@maxPrice MONEY OUTPUT
AS
Begin
SELECT @minPrice = MIN(maksimus),
@maxPrice = MAX(maksimus)
FROM kool
End;
-------ИСПОЛЬЗОВАНИЕ-------
USE protseduuridLastovski;
DECLARE @minPrice MONEY, @maxPrice MONEY
EXEC kooliMaksumus @minPrice OUTPUT, @maxPrice OUTPUT
PRINT 'Minimaalne hind ' + CONVERT(VARCHAR, @minPrice)
PRINT 'Maksimaalne hind ' + CONVERT(VARCHAR, @maxPrice);

