Ответ 1
Затем используйте хранимую процедуру для достижения ваших требований. Потому что функция предназначена для возврата значений.
Я создаю простую функцию, которая вставляет строку в таблицу. После вставки мне не нужна функция, чтобы вернуть что-либо. Я просто проверил синтаксис создания функции в MSDN и, похоже, функция должна вернуть значение. Я также попытался создать функцию, но получил синтаксическую ошибку.
Интересно, есть ли способ создать функцию, которая не возвращает никакого значения.
Может кто-нибудь, пожалуйста, сообщите мне, есть ли способ создать такую функцию? Спасибо заранее:)
Затем используйте хранимую процедуру для достижения ваших требований. Потому что функция предназначена для возврата значений.
создать хранимую процедуру вместо функции
Create proc my_proc()
as
BEGIN
<your insert statement >
END
См. Примеры здесь
В дополнение к другим ответам я добавлю очевидное:
Я создаю простую функцию, которая вставляет строку в таблицу.
Функция не может вставить строку в таблицу (по определению, функция SQL Server не должна иметь каких-либо побочных эффектов, которая отличается от функций на других языках), поэтому независимо от того, заботились ли вы о возврате значение, это не может быть сделано в любом случае. Вместо этого вам нужно будет использовать хранимую процедуру.
В соответствии с SQL Server у вас нет функции без возвращаемого значения. Он должен вернуть значение. В вашем случае я бы посоветовал пойти на Хранимую процедуру.