Как манипулировать данными типа ntext в хранимой процедуре SQL Server 2008 - PullRequest
3 голосов
/ 14 декабря 2011

Мне было интересно, как управлять типом данных ntext в хранимой процедуре SQL Server 2008. У нас есть столбец типа ntext в таблице. Мы должны извлечь данные из этого столбца, проанализировать данные, изменить и затем сохранить их обратно. Для выполнения всех вышеперечисленных задач мы должны использовать одну или несколько функций, которые хранятся в хранимой процедуре / функции. Таким образом, передача данных между хранимыми процедурами также задействована.

1 Ответ

7 голосов
/ 14 декабря 2011

Если вы можете изменить схему, рассмотрите возможность изменения типа данных с ntext на nvarchar(max). Последнее является новым в SQL Server 2005, оно более эффективно и работает со строковыми функциями.

Если вы не можете изменить схему, преобразуйте ntext в локальную переменную типа nvarchar(max). Строковые функции работают с nvarchar(max). Пример:

declare @txt nvarchar(max)
select @txt = NTextField from YourTable where id = @ID

... process @txt ...

update YourTable set NTextField = @txt where id = @ID
...