используя команду удаления или обновления в функции - PullRequest
1 голос
/ 25 мая 2010

мы можем использовать команду удаления или обновления внутри функции в базе данных sql server 2005 или в любой другой базе данных?

Ответы [ 2 ]

2 голосов
/ 25 мая 2010

Если вы попытаетесь использовать ОБНОВЛЕНИЕ внутри функции, вы получите:

Server: Msg 443, Level nn, State 1, Procedure function_Name, Line nn
Invalid use of 'UPDATE' within a function.

Чтобы избежать этой ошибки, убедитесь, что вы не используете инструкцию UPDATE внутри пользовательской функции, если она не обновляет переменную локальной таблицы. Если вам действительно нужно использовать инструкцию UPDATE для таблицы, для этой цели вам нужно использовать хранимую процедуру вместо пользовательской функции.

Создать функцию

0 голосов
/ 26 мая 2010

Нет, вы не можете использовать какие-либо операторы DML (INSERT, UPDATE и DELETE) для базовых таблиц. Другая проблема с UDF состоит в том, что функциям SQL, возвращающим недетерминированные значения, не разрешается вызывать из UDF. Хотя UDF имеют свои преимущества, их можно использовать в выражении Select, Where или Case. Может использоваться в соединениях.

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