Помощь Joomla



Sql Язык Программирования

Microsoft SQL Server  Март 26, 2017 – 11:25
EmEditor

Microsoft SQL Server — система управления реляционными базами данных, разработанная корпорацией Microsoft и работающая только под Windows.

SQL Server использует процедурное расширение T-SQL (Transact-SQL). Сам язык SQL этой СУБД отличается от других реализаций SQL и иногда рассматривается как диалект T-SQL.

T-SQL поддерживает программные блоки (в виде процедур, которые хранятся в базе данных в скомпилированном виде и могут быть выполнены позднее создания, или анонимных блоков, которые не могут быть скомпилированы и используются только с виде скриптов), операторы управления потоком вычислений (в т.ч. условные переходы и циклы) и локальные переменные. Кроме того, T-SQL предоставляет ряд функций для работы со строками и датами, математических функций и т.д.

Для администрирования БД и разработки приложений для СУБД SQL Server может использоваться ряд инструментов, предоставляемых корпорацией Microsoft:

  • SQLCMD — инструмент с интерфейсом типа командной строки, предназначенный для выполнения команд SQL интерактивно или из скрипта; используется в качестве инсталляционного интерфейса по умолчанию.
  • Microsoft Visual Studio включает поддержку разработки для SQL Server.
  • SQL Server Management Studio — IDE для конфигурирования и управления БД SQL Server.

Факториал:

Пример для версий Microsoft SQL Server 2005, Microsoft SQL Server 2008 R2, Microsoft SQL Server 2012

Используется рекурсивное определение факториала, реализованное через рекурсивный запрос. Каждая строка запроса содержит два числовых поля — n и n!, и каждая следующая строка вычисляется с использованием данных из предыдущей.

Можно вычислить целочисленные факториалы только до 20!. При попытке вычислить 21! возникает ошибка “Arithmetic overflow error”, т.е. происходит переполнение разрядной сетки.

Для вещественных чисел вычисляется факториал 100! (Для этого в примере необходимо заменить bigint на float в 3-ей строке)

with factorial(n, f) as ( select 0, convert(bigint, 1) union all select n+1, f*(n+1) from factorial where n


Что еще почитать?

Source: progopedia.ru

Похожие публикации:

  1. Язык Программирования Php
  2. Уроки Программирования
  3. Урок Программирования