Как использовать столбцы text, ntext или image в таблицах «вставленные» и «удаленные»

Нельзя использовать столбцы text, ntext или image в таблицах «вставлены» и «удалены».

Каким должен быть обходной путь в этом случае? 🙁

Начиная с SQL Server 2005, TEXT/NTEXT/IMAGE устарели – вместо этого вы должны использовать типы данных (N)VARCHAR(MAX) и VARBINARY(MAX) .

(N) VARCHAR (MAX) (см. Здесь документы MSDN ) и VARBINARY (MAX) позволяют получать до 2 ГБ данных

Из документов MSDN:

nvarchar [(n | max)]

Символьные данные Unicode с переменной длиной. n может быть значением от 1 до 4000. max указывает, что максимальный размер хранилища составляет 2 ^ 31-1 байта. (= 2 ГБ)

Типы (N) VARCHAR (MAX) также позволяют использовать всю обычную строковую функцию T-SQL, что совсем не так (N) TEXT.

Как показывает эта статья MSDN , типы замещения также поддерживаются в триггерах:

SQL Server 2008 не позволяет использовать ссылки на текстовые, текстовые или графические столбцы во вставленных и удаленных таблицах для триггеров AFTER. Однако эти типы данных включены только для обратной совместимости. Предпочтительным хранилищем для больших данных является использование типов данных varchar (max) , nvarchar (max) и varbinary (max) . Триггеры AFTER и INSTEAD OF поддерживают данные varchar (max) , nvarchar (max) и varbinary (max) во вставленных и удаленных таблицах.

Это обходной путь:

SQL Trigger не может выполнять INSTEAD OF DELETE, но требуется для столбцов ntext, image

По существу вам необходимо присоединиться к inserted и / или deleted псевдо таблицам в базовую таблицу и прочитать NTEXT , TEXT или IMAGE из нижележащих таблиц.

  • Аудит каждой вставленной строки в триггере
  • Как написать триггер обновления для обновления текущей таблицы на основе значения в другой таблице в SQL Server 2008?
  • Триггер в SQL Server 2008 R2
  • В триггере получить значения из вставки
  • Запуск триггера SQL Server необъяснимо
  • TSql Trigger должен запускаться только для столбцов, значения которых изменены
  • Дельта-трассировка с триггерами
  • MSSQL Trigger: идентификатор многочастности «i.charged_amount» не может быть связан
  • Не запускать триггер для Multirow bulk Insert?
  • Как реализовать триггер после вставки?
  • Почему триггер SQL Server не запускается после вставки с использованием Entity Framework?
  • Interesting Posts

    Преобразование базы данных доступа в базу данных MSSQL с помощью помощника по миграции Microsoft SQL Server для доступа

    Является ли CONCAT_NULL_YIELDS_NULL SQL постоянной настройкой времени выполнения? (Server 2000 и выше)

    В чем преимущество общего выражения таблицы в sql-сервере

    Как связать пользователей с ролями в приложении уровня данных

    EAV Выбор запроса из таблиц с расширенными значениями

    Как заставить Force Entity Framework использовать строку вместо char для столбцов CHAR, NCHAR, VARCHAR (1) и NVARCHAR (1)?

    Допуск с мин. Макс.

    Как разбить результат запроса sql для заполнения выпадающего списка

    как восстановить очень большой файл .bak (180 ГБ) в SQL Server 2008

    В SQL Server 2005, как получить таблицы в других базах данных, от которых зависит представление?

    Как использовать SQL-запрос с подсчетом havng?

    Entity Framework Необработанный SQL-запрос для выбора неизвестных столбцов (неизвестный тип возврата)

    SQL View замедляется в консоли управления, но быстро в слое приложений

    SELECT TOP 1 без ORDER BY Проблема игнорирует оператор WHERE

    Группируйте, используя соединение

    Давайте будем гением компьютера.