Создайте функцию в SqlServer, которая ничего не возвращает

Я создаю простую функцию, которая вставляет строку в таблицу. После вставки мне не нужна функция, чтобы вернуть что-либо. Я просто проверил синтаксис создания функции в MSDN и, похоже, функция должна вернуть значение. Я также попытался создать функцию, но получил синтаксическую ошибку.

Интересно, есть ли способ создать функцию, которая не возвращает никакого значения.

Может кто-нибудь, пожалуйста, сообщите мне, есть ли способ создать такую ​​функцию? Спасибо заранее:)

Ответ 1

Затем используйте хранимую процедуру для достижения ваших требований. Потому что функция предназначена для возврата значений.

Ответ 2

создать хранимую процедуру вместо функции

Create proc my_proc()
as
BEGIN
<your insert statement >

END

См. Примеры здесь

Ответ 3

В дополнение к другим ответам я добавлю очевидное:

Я создаю простую функцию, которая вставляет строку в таблицу.

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

Ответ 4

В соответствии с SQL Server у вас нет функции без возвращаемого значения. Он должен вернуть значение. В вашем случае я бы посоветовал пойти на Хранимую процедуру.