Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.Б.Д / лекции / ЛЕКЦІЯ 12.ppt
Скачиваний:
30
Добавлен:
30.05.2020
Размер:
116.74 Кб
Скачать
BEGIN
UPDATE @t SET pr=1 WHERE pr=0
INSERT @t SELECT e.emp, e.mgr,0 FROM emp_mgr e @t t
WHERE e.mgr=t.empid AND t.pr=1
SET @r=@@ROWCOUNT UPDATE @t SET pr=2 WHERE pr=1 END
INSERT @report SELECT empid, mgrid
FROM @t RETURN END

Створити і застосувати функцію (типу multi- statement), яка для деякого співробітника виводить список всіх його підлеглих (підлеглих як безпосередньо йому, так і опосередковано через

інших співробітників)

CREATE FUNCTION fn_findReports(@id_emp CHAR(2))

RETURNS @report TABLE(empid CHAR(2) PRIMARY KEY mgrid CHAR(2))

AS BEGIN

DECLARE @r INT

DECLARE @t TABLE(empid CHAR(2)

PRIMARY KEY mgrid CHAR(2) pr INT DEFAULT 0)

INSERT @t SELECT emp,mgr,0 FROM emp_mgr

WHERE emp=@id_emp SET @r=@@ROWCOUNT WHILE @r>0

Застосуємо створену функцію для визначення списку підлеглих співробітника ‘b’

SELECT * FROM

emp

mgr

fn_findReports('b')

b

а

 

e

f

 

f

b

 

g

b

Список підлеглих співробітника ‘a’

SELECT * FROM fn_findReports('a')

emp mgr

аNULL

bа

са

dа

ef

fb

gb

i с

кd

Вбудовані функції

математичні функції ;

рядкові функції ;

функції для роботи з датою і часом ;

функції конфігурування;

функції системи безпеки;

функції управління метаданими;

статистичні функції.

Математичні функції

ABS обчислює абсолютне значення числа

ACOS обчислює арккосинус

ASIN обчислює арксинус

ATAN обчислює арктангенс

ATN2 обчислює арктангенс з урахуванням квадратів

CEILING виконує округлення вгору

COS обчислює косинус кута

COT повертає котангенс кута

DEGREES перетворить значення кута з радіан в градуси

EXP повертає експоненту

FLOOR виконує округлення вниз

TAN повертає тангенс кута

LOG обчислює натуральний логарифм

LOG10 обчислює десятковий логарифм

PI повертає значення "пі“

POWER підносить число до ступеня

RADIANS перетворить значення кута з градуса в радіани

RAND повертає випадкове число

ROUND виконує округлення із заданою точністю

SIGN визначає знак числа

SIN обчислює синус кута

SQUARE виконує зведення числа в квадрат

SQRT витягує квадратний корінь

Використовування функції округлення до одного знака після коми для розрахунку податку

SELECT Товар.Назва, Операція.Кількість Round(Товар.Ціна*Операція.Кількість*0.05,1

)

AS Податок

FROM Товар INNER JOIN Операція ON Товар.КодТовара=Операція.КодТовара

Рядкові функції

ASCII повертає код ASCII лівого символу рядка

CHAR за кодом ASCII повертає символ

CHARINDEX визначає порядковий номер символу, з якого починається входження підрядка в рядок

DIFFERENCE повертає показник збігу рядків

LEFT повертає вказане число символів з початку рядка

LEN повертає довжину рядка

LOWER переводить всі символи рядка в нижній регістр

LTRIM видаляє пропуски на початку рядка

NCHAR повертає за кодом символ Unicode

PATINDEX виконує пошук підрядка в рядку за вказаним шаблоном

REPLACE замінює входження підрядка на вказане значення

QUOTENAME конвертує рядок у формат Unicode

REPLICATE виконує тиражування рядка певне число раз

REVERSE повертає рядок, символи якого записані в зворотному порядку

RIGHT повертає вказане число символів з кінця рядка

RTRIM видаляє пропуски в кінці рядка

SOUNDEX повертає код звучання рядка

SPACE повертає вказане число пропусків

STR виконує конвертацію значення числового типу в символьний формат

STUFF видаляє вказане число символів, замінюючи новим підрядком

SUBSTRING повертає для рядка підрядок вказаної довжини із заданого символу

UNICODE повертає Unicode-код лівого символу рядка

UPPER переводить всі символи рядка у верхній регістр

Функції для роботи з датою і часом

DATEADD додає до дати вказане значення днів, місяців, годинника і т.д.

DATEDIFF повертає різницю між вказаними частинами двох дат

DATENAME виділяє з дати вказану частину і повертає її в символьному форматі

DATEPART виділяє з дати вказану частину і повертає її в числовому форматі

DAY повертає число з вказаної дати

GETDATE повертає поточний системний час

ISDATE перевіряє правильність виразу на відповідність одному з можливих форматів введення дати

MONTH повертає значення місяця з вказаної дати

YEAR повертає значення року з вказаної дати

Соседние файлы в папке лекции