Microsoft SQL Server 2005
Версия реализации Microsoft SQL Server языка программирования SQLMicrosoft SQL Server 2005 (кодовое название Yukon) — следующая после SQL Server 2000 версия Microsoft SQL Server. Добавлены поддержка работы с XML, рекурсивных запросов и обработка ошибок, а также ряд более мелких улучшений.
Примеры:
Hello, World! - SQL (64):
select 'Hello, World!';
Факториал - SQL (65):
Используется рекурсивное определение факториала, реализованное через рекурсивный запрос. Каждая строка запроса содержит два числовых поля — n и n!, и каждая следующая строка вычисляется с использованием данных из предыдущей.
Отметим, что в версиях, начиная с 2008, можно вычислить факториалы только до 12!. При попытке вычислить 13! возникает ошибка “Data truncation”, т.е. полученное значение слишком велико.
with factorial(n, f) as
(
select 0, 1
union all
select n+1, f*(n+1) from factorial where n<16
)
select cast(n as varchar)+'! = '+cast(f as varchar)
from factorial
Числа Фибоначчи - SQL (66):
Используется итеративное определение чисел Фибоначчи, реализованное через рекурсивный запрос. Каждая строка запроса содержит два соседних числа последовательности, и следующая строка вычисляется как (последнее число, сумма чисел) предыдущей строки. Таким образом все числа, кроме первого и последнего, встречаются дважды, поэтому в результат входят только первые числа каждой строки.
with fibonacci(a, b) as
(
select 1, 1
union all
select b, a+b from fibonacci where b < 1000
)
SELECT cast(a as varchar)+', ' AS [text()]
FROM fibonacci
FOR XML PATH ('')
Комментарии
]]>blog comments powered by Disqus
]]>