5. SQL Server.
SQL Server , .
:
.
, .
, FROM SELECT . , .
, .
. SQL Server, , , . , SELECT, . , .
, :
, SQL Server. , text, ntext, image, cursor timestamp.
. , - , . , , .
, . . SQL Server , , , . , .
:
, .
, .
, .
, . , , . , . return .
|
|
, . BLOB ( ) , text, image ntext, .
, DDL, , , :
CREATE FUNCTION _ (_)
RETURNS _
AS
BEGIN
_
RETURN
END
, , , ( = ). , , (.. ). , default.
; :
CREATE FUNCTION dbo.Multiply (@A int, @B int = 3)
RETURNS INT
BEGIN
RETURN @A * @B
END
, . (.). Multiply:
SELECT dbo.Multiply(3,4)
SELECT dbo.Multiply(7, DEFAULT)
, ..
CREATE FUNCTION getProdavecFIO (@ProdavecID int)
RETURNS varchar(50)
AS
BEGIN
DECLARE @result varchar(50)
SELECT @result = SurName + ' ' + SUBSTRING(FirstName, 1, 1) + '.' + SUBSTRING(ParentName, 1, 1) + '.'
FROM Prodavec
WHERE ProdavecID = @ProdavecID
RETURN @result
END
:
SELECT dbo.getProdavecFIO(1) AS ProdavecFIO - 1
SELECT dbo.getProdavecFIO(ProdavecID) AS ProdavecFIO
FROM Prodavec
ORDER BY SurName, FirstName
--
: , :
;
(Order) .
. SELECT. , . , SELECT , .
BEGIN... END SELECT :
|
|
CREATE FUNCTION _ ()
RETURNS Table AS
RETURN (_SELECT)
, .
CREATE FUNCTION getPriceList ()
RETURNS TABLE
AS
RETURN
(
SELECT TovarID, TovarName, ProizvoditelName, CurrentPrice, GrupName
FROM Tovar t
INNER JOIN Grup g on t.GrupID = g.GrupID
INNER JOIN Proizvoditel p on p.ProizvoditelID = t.ProizvoditelID
)
getPriceList FROM SELECT:
SELECT *
FROM dbo.getPriceList()
ORDER BY GrupName, TovarName
SELECT. WHERE SELECT, . .
CREATE FUNCTION getTovary (@GrupID SMALLINT)
RETURNS TABLE
AS
RETURN
(
SELECT TovarID, TovarName, ProizvoditelName, CurrentPrice
FROM Tovar t
INNER JOIN Proizvoditel p on p.ProizvoditelID = t.ProizvoditelID
WHERE t.GrupID = @GrupID
)
, SELECT , :
select * from dbo.GetTovary(3)