Вставить запрос в функцию SQL - PullRequest
3 голосов
/ 23 февраля 2011

Могу ли я написать запрос на вставку внутри функции в SQL Server 2008. Если я попытался, я получаю сообщение об ошибке Недопустимое использование побочного эффекта оператора INSERT внутри функции. Пожалуйста, помогите мне. Но я хочу, чтобы это была функция, а не хранимая процедура

Create function EFT_DL_FUNC_AUDTI_BATCH_START (@i_db_name varchar(20))
returns int as
begin
    insert into table_name(db_name) values (@i_db_name)
    return 0
end

1 Ответ

14 голосов
/ 23 февраля 2011

Цитата здесь :

Пользовательские функции не могут быть использованы изменить информацию базовой таблицы. DML операторы INSERT, UPDATE и DELETE нельзя использовать для базовых таблиц.

Таким образом, вы не можете сделать INSERT в функции.

Возможно, вы захотите объяснить, ПОЧЕМУ не хотите использовать процедуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...