05.03
Koodi esimene osa loob protseduuri: protseduuri nimi ja selle omadused. Protseduuri sisu ise paigutatakse BEGINi ja ENDi vahele.

Näide kõige lihtsamast protseduurist

Valmis protseduur

CREATE PROCEDURE `tervist` ()
LANGUAGE SQL
DETERMINISTIC
SQL SECURITY DEFINER
COMMENT 'A procedure'
BEGIN
SELECT 'Hello World!';
END;
Näitab filme on suurem kui arv

Me määrasime muutuja väärtuse

tulemus

lisa kellaaeg ja kuupäev

tulemus

Teise funktsiooni lisamine

tulemus

Andmete kustutamine zanr-tabelist ID järgi.

KeeleLisamine funktsioon

Tulemus

19.03.26
Kasutame funktsiooni union all, et kuvada loodud tabelite kõiki ridu.


Pärast protseduuri loomist nimetame seda

täitke tabel andmetega

Loome protseduuri, mis kuvab andmeid sisestatud soo ja osakonna ID alusel. Sel juhul “Male”

Saate muuta parameetrite järjekorda
exec spGetEmployeesByGenderAndDepartment
@DepartmentId = 1,
@Gender = 'Male'
Kasutatakse andmebaasiobjektide kohta üksikasjaliku teabe saamiseks.
sp_help spGetEmployeesByGender

Soov vaadata sp sisu
sp_helptext spGetEmployeesByGender

Muutke protseduuri ja lisage krüptimine
alter proc spGetEmployeesByGender
@Gender nvarchar(20),
@DepartmentId int
with encryption
as
begin
select Name, Gender, DepartmentId
from Employees
where Gender = @Gender
and DepartmentId = @DepartmentId
end



näitab nimi sisestatud id järgi
create or alter proc spGetNameById1
@Id int,
@FirstName nvarchar(50) output
as
begin
select @FirstName = Name
from Employees
where Id = @Id
end
sisseehitatud string funktsioonid

prindime kogu tähestiku välja




prikolchiki

joone pikkus

substring() - eraldab osa stringist, antud juhul krüpteerib selle
-- left, right ja substring
select left('ABCDEF', 4)
select right('ABCDEF', 3)
select charindex('@', 'sara@aaa.com')
select substring('pam@btbb.com', 5, 2)
select substring('pam@bb.com', charindex('@', 'pam@bb.com') + 1, 3)
select substring('pam@bb.com',
charindex('@', 'pam@bb.com') + 1,
len('pam@bb.com') - charindex('@', 'pam@bb.com'))
-- vaja teha uus veerg nimega Email
alter table Employees
add Email nvarchar(50)
update Employees set Email = Name + '@aaa.com'
--- lisame *-märgi alates teatud kohast
select Name,
substring(Email, 1, 2) + replicate('*', 5) +
substring(Email, charindex('@', Email),
len(Email) - charindex('@', Email) + 1) as Email
from Employees
--- dubleerib nimi kolm korda
select replicate(Name, 3)
from Employees
select replicate('asd', 3)
-- kuidas sisestada tyhikut kahe nime vahele
select space(5)
-- kahe nime vahel on 25 tühikut
select Name + space(25) + Gender as FullName
from Employees