如何解决此错误?
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
我不知道错误是什么或我如何修复它。 请帮帮我......
答案 0 :(得分:24)
它告诉您不允许使用NTEXT作为局部变量的数据类型。
将@Body ntext OUTPUT
更改为@Body NVARCHAR(MAX) OUTPUT
将使其正常运行。
答案 1 :(得分:5)
我知道这很老但值得一提。如果您的表需要这些数据类型,请在执行select或update / insert ...
时强制转换变量SELECT cast(@somevariable as ntext) from...
Update some table set somevalue=cast(@somevariable as ntext) where...