-- Модули:
-- Представление VIEW
-- Процедура Procedure
-- Функция Function
-- также есть не модуль, но …
-- Табличное выражение WITH
--
Создать
представление
--Drop
view MyCatView
Create
view MyCatView
AS
SELECT
CategoryName, ProductName, UnitPrice
FROM
Categories C INNER JOIN Products P
ON
P.CategoryID=C.CategoryID
AND
CategoryName='seafood'
Group
BY CategoryName, ProductName, UnitPrice
GO
---
-- Обратиться к представлению
SELECT * from MyCatView
---
---Создать
процедуру
--DROP
PROCEDURE MyProc1
CREATE
PROCEDURE MyProc1
@CAT int, @PROD int
AS
SELECT
CategoryName, ProductName, UnitPrice
FROM
Categories C INNER JOIN Products P
ON
P.CategoryID=C.CategoryID
--
AND CategoryName='seafood'
AND
P.CategoryID > @CAT
AND
P.UnitPrice > @PROD
Group
BY CategoryName, ProductName, UnitPrice
GO
---
--Выполнить процедуру
EXECUTE MyProc1 5, 20
-- Создать функцию
--DROP
FUNCTION MyFunc1
CREATE
FUNCTION MyFunc1 (
@CAT int
, @PROD int
)
RETURNS TABLE
AS
RETURN
SELECT
CategoryName, ProductName, UnitPrice
FROM
Categories C INNER JOIN Products P
ON
P.CategoryID=C.CategoryID
--
AND CategoryName='seafood'
AND
P.CategoryID > @CAT
AND
P.UnitPrice > @PROD
Group
BY CategoryName, ProductName, UnitPrice
GO
---
--
Вызвать
функцию
SELECT
*
FROM
MyFunc1 (1,2)
WHERE UnitPrice>20
No comments:
Post a Comment