Ответ 1
Это говорит вам, что вам не разрешено использовать NTEXT в качестве типа данных для локальных переменных.
Изменение @Body ntext OUTPUT
до @Body NVARCHAR(MAX) OUTPUT
приведет к его работе.
Как исправить эту ошибку?
The text, ntext, and image data types are invalid for local variables.
Моя программа:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetJobInfo]
(
@jobId int,
@subject varchar(50) OUTPUT,
@Body ntext OUTPUT,
@prepared_email_id int OUTPUT
)
AS
BEGIN
SET NOCOUNT ON
SELECT TOP 1 @prepared_email_id = p.[PreparedEmailID],
@subject = p.[Subject],
@Body = p.[Body]
FROM [PreparedEmails] p INNER JOIN
[Jobs] j ON p.[PreparedEmailID] =
j.[PreparedEmailID]
WHERE j.[JobID] = @jobId
RETURN
END
Я не знаю, что такое ошибка или как я ее исправляю. Пожалуйста, помогите мне...
Это говорит вам, что вам не разрешено использовать NTEXT в качестве типа данных для локальных переменных.
Изменение @Body ntext OUTPUT
до @Body NVARCHAR(MAX) OUTPUT
приведет к его работе.
Я знаю, что это старый, но заслуживающий упоминания. Если ваши таблицы требуют этих типов данных, отбросьте свои переменные, когда вы делаете выбор или обновляете/вставляете...
SELECT cast(@somevariable as ntext) from...
Update some table set somevalue=cast(@somevariable as ntext) where...