ВУЗ:
Составители:
Рубрика:
идентифицируется своим номером, который должен задаваться как при создании, так и при вызове
процедуры сразу же после группового имени и отделяться от него точкой с запятой.
Функции и хранимые процедуры можно создавать также с помощью Enterprise Manager, а
хранимые процедуры еще и с помощью мастера Create Stored Procedure Wisard.
В SQL Server 2000 можно создавать функции трех классов:
Scalar – возвращают обычное скалярное значение;
Inline – возвращают таблицу динамической структуры, создаваемую единственной
командой тела функции SELECT;
Multi – statement – возвращает обычную таблицу заданной структуры, при этом количество
команд в теле функции не ограничивается.
Задание 1. Создать функцию для выполнения четырех арифметических операций “+”, “-
”, “*” и “/” над целыми операндами типа bigint, выполнив кодирование и проверку:
1. Кодирование
CREATE FUNCTION Calculator
(@ Opd1 bigint,
@ Opd2 bigint,
@ Oprt char(1) = “*”)
RETURNS bigint
AS
BEGINT
DECLARE @ Result bigint
SET @ Result =
CASE @ Oprt
WHEN “+” THEN @ Opd1 + @ Opd2
WHEN “-” THEN @ Opd1 - @ Opd2
WHEN “*” THEN @ Opd1 * @ Opd2
WHEN “/” THEN @ Opd1 / @ Opd2
ELSE 0
END
Return @ Result
END
2. Тестирование
SELECT dbo.Calculator(4,5, ‘+’),
dbo. Calculator(3,7, ‘*’) – dbo.Calculator(64,4,‘/’)*2.
9 -11
(1 row (s) affected)
Задание 2. Создать функцию, возвращающую таблицу с динамическим набором
столбцов, выполнив кодирование и тестирование:
1. Кодирование
CREATE FUNCTION DYNTAB (@ State char(2))
RETURNS Table
AS
RETURNS SELECT au_id, au_lname, au_fname FROM authors
WHERE state = @ state
2. Проверка
SELECT * FROM DYNTAB (“CA”)
идентифицируется своим номером, который должен задаваться как при создании, так и при вызове
процедуры сразу же после группового имени и отделяться от него точкой с запятой.
Функции и хранимые процедуры можно создавать также с помощью Enterprise Manager, а
хранимые процедуры еще и с помощью мастера Create Stored Procedure Wisard.
В SQL Server 2000 можно создавать функции трех классов:
Scalar – возвращают обычное скалярное значение;
Inline – возвращают таблицу динамической структуры, создаваемую единственной
командой тела функции SELECT;
Multi – statement – возвращает обычную таблицу заданной структуры, при этом количество
команд в теле функции не ограничивается.
Задание 1. Создать функцию для выполнения четырех арифметических операций “+”, “-
”, “*” и “/” над целыми операндами типа bigint, выполнив кодирование и проверку:
1. Кодирование
CREATE FUNCTION Calculator
(@ Opd1 bigint,
@ Opd2 bigint,
@ Oprt char(1) = “*”)
RETURNS bigint
AS
BEGINT
DECLARE @ Result bigint
SET @ Result =
CASE @ Oprt
WHEN “+” THEN @ Opd1 + @ Opd2
WHEN “-” THEN @ Opd1 - @ Opd2
WHEN “*” THEN @ Opd1 * @ Opd2
WHEN “/” THEN @ Opd1 / @ Opd2
ELSE 0
END
Return @ Result
END
2. Тестирование
SELECT dbo.Calculator(4,5, ‘+’),
dbo. Calculator(3,7, ‘*’) – dbo.Calculator(64,4,‘/’)*2.
9 -11
(1 row (s) affected)
Задание 2. Создать функцию, возвращающую таблицу с динамическим набором
столбцов, выполнив кодирование и тестирование:
1. Кодирование
CREATE FUNCTION DYNTAB (@ State char(2))
RETURNS Table
AS
RETURNS SELECT au_id, au_lname, au_fname FROM authors
WHERE state = @ state
2. Проверка
SELECT * FROM DYNTAB (“CA”)
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »
