sha*_*jar 16 t-sql sql-server-2005
我该如何解决这个错误?
The text, ntext, and image data types are invalid for local variables.
Run Code Online (Sandbox Code Playgroud)
我的处理是:
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
Run Code Online (Sandbox Code Playgroud)
我不知道错误是什么或我如何解决它.请帮我...
pau*_*aul 26
它告诉您不允许使用NTEXT作为局部变量的数据类型.
更改@Body ntext OUTPUT
到@Body NVARCHAR(MAX) OUTPUT
会得到它的工作.
小智 6
我知道这很老但是值得一提。如果表需要这些数据类型,请在执行选择或更新/插入时强制转换变量。
SELECT cast(@somevariable as ntext) from...
Update some table set somevalue=cast(@somevariable as ntext) where...
Run Code Online (Sandbox Code Playgroud)