Documente Academic
Documente Profesional
Documente Cultură
Pentru modificare:
ALTER FUNCTION .....
Pentru ştergere:
DROP FUNCTION .....
CREATE FUNCTION StabilesteDob(@pSalariu as money)
RETURNS money
AS
BEGIN
DECLARE @vDobanda as money
IF @pSalariu < 1000
SET @vDobanda = 0.1
RETURN @vDobanda
END
CREATE FUNCTION StabilesteDob1(@pSalariu as
money)
RETURNS money
AS
BEGIN
DECLARE @vDobanda as money
IF @pSalariu < 1000
SET @vDobanda = 0.1
ELSE
IF @pSalariu < 4000
SET @vDobanda = 0.08
ELSE
SET @vDobanda = 0.05
RETURN @vDobanda
END
SELECT dbo.StabilesteDob(6000)
SELECT dbo.StabilesteDob(Salariu),
Nume, Prenume, CNP, Salariu FROM
Persoana
A. Varianta INLINE.
RETURNS TABLE
As
RETURN (fraza_SQL_SELECT)
CREATE FUNCTION
ListaDepuneriParametrii(@pDataInceput
as date,
@pDataSfarsit as date)
RETURNS TABLE
AS
RETURN (SELECT NrDepunere,
DataDepunerii, NrCont, SumaDepusa
FROM Depuneri
WHERE DataDepunerii BETWEEN
@pDataInceput AND @pDataSfarsit)
CREATE PROCEDURE ListaDepuneriConturi
@pDataInceput as date,
@pDataSfarsit as date
AS
SELECT * FROM Conturi
INNER JOIN
ListaDepuneriParametrii(@pDataInceput,@
pDataSfarsit) as F1
ON Conturi.NrCont = F1.NrCont
B. varianta MULTIINSTRUCŢIUNE
AS
BEGIN
INSTRUCŢIUNI SQL
RETURN
END
CREATE FUNCTION ListaDepPer(@pDataI date, @pDataSf date)
RETURNS @vTabel table (NrCont bigint, Nume nvarchar(100),
Prenume nvarchar(100), TotalDepuneri money)
AS
BEGIN
insert into @vTabel
select conturi.nrcont, nume, prenume, sum(sumadepusa)
from persoana, conturi, depuneri
where persoana.cnp = conturi.cnp and
conturi.nrcont = depuneri.nrcont and
datadepunerii between @pDataI AND @pDataSf
group by conturi.nrcont, nume, prenume
return
END