Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Невалидна употреба със страничен оператор Insert във функция

Не можете да използвате функция за вмъкване на данни в базова таблица . Функции връщане данни. Това е посочено като първото ограничение в документацията :

„Промяна на състоянието на базата данни“ включва промяна на всички данни в базата данни (въпреки че променливата на таблицата е очевидно изключение, за което OP не би се интересувала преди 3 години - тази променлива на таблицата съществува само по време на извикването на функцията и не засяга базовите таблици по какъвто и да е начин).

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Необходимо ли е да се капсулира един оператор за сливане (с вмъкване, изтриване и актуализиране) в транзакция?

  2. Как да получите всички деца на родител и след това техните деца с помощта на рекурсия в заявката

  3. Преобразуването на тип данни varchar в тип данни за дата и час доведе до грешка в стойността извън диапазона

  4. Алтернативен синоним в SQL Server в една транзакция

  5. Как да получите списък с всички ограничения за проверка в базата данни на SQL Server - SQL Server / TSQL урок, част 85