Gauravg9598 Ответов: 2

Почему мы используем пользовательскую функцию в SQL server?


Каково основное использование функции в sql server. если мы используем оператор select в хранимой процедуре, то почему мы используем функцию? какова основная цель функции

Что я уже пробовал:

Я хочу знать только об этом

CPallini

А как насчет "документации"?

2 Ответов

Рейтинг:
20

OriginalGriff

Функции и хранимые процедуры-это не одно и то же и даже не одно и то же.
Действительно важное отличие состоит в том, что функции вообще не могут изменять табличные данные: SELECT-это нормально, но операции вставки, обновления и удаления запрещены.
Следующим наиболее важным является то, что вы можете использовать функцию в инструкции SQL (даже если эта инструкция находится внутри хранимой процедуры), но вы не можете использовать SP внутри функции.

Есть и другие отличия, которые суммируются здесь: Разница между хранимой процедурой и функцией в SQL Server[^]


CPallini

5.

Рейтинг:
1

W∴ Balboos, GHB

Помимо уже представленного прекрасного ответа, я дам вам ответ с другой стороны " почему?".

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

Пример одного из них, который я создал, преобразует числовые значения в двухдесятичные с правым выравниванием и разделителями-запятыми (вывод с HTML-стилями для выравнивания). Этот результат позволяет легко представлять долларовые значения в столбцах таблицы, аккуратно выровненных для легкого сравнения на глаз. SQL теперь легко читается, и на стороне клиента удалено много работы (и беспорядка).

Другой пример - встроенная функция UPPER() преобразует входную строку в верхний регистр. Вы можете сделать это сами и представить себе беспорядок в вашем SQL! Или, конечно же, сделайте то же самое на стороне клиента с помощью javaScript или php. Подумайте: зачем вам вообще писать функцию на любом языке? Это ваша отправная точка.

Они могут выполнять гораздо более сложные операции, чем это, но предыдущее легко визуализировать.