我正在尝试访问“text”类型并将该值插入到存储过程的另一个表中。我试图把它转换,转换它,但没有任何作用。
我的代码看起来像这样:
Declare @Critique varchar(max), @Feedback varchar(max)
…
…
…
SELECT @Critique = CAST(comments as varchar(max)), @Feedback = CAST(public_critique as varchar(max)) FROM ASCO_vEXTERNAL_REVIEW_APPLICATIONS_LIST WHERE wf_task_assignment_id = @WfTaskAssignmentIDP1
– comments and public_critique are defined as text in view (also tried with table) ASCO_vEXTERNAL_REVIEW_APPLICATIONS_LIST
…
…
…
insert into WF_TASK_ASSIGNMENT_REVIEW (wf_task_assignment_review_id, wf_task_assignment_id, grantee_project_id, comments, public_critique) values (@NewID1, @WfTaskAssignmentIDP2, @GranteeProjectID, @Critique, @Feedback)
请你尽快帮我解决这个问题。我真的很感激。
谢谢, 哈里什
答案 0 :(得分:0)
你的问题听起来不太好。
不要使用文本,它在许多情况下都不支持,例如where,group by等,所以尝试使用varchar
这只是一个例子
Declare @Critique varchar(max)
set @Critique = (select public_critique from ASCO_vEXTERNAL_REVIEW_APPLICATIONS_LIST
where convert(varchar(50), wf_task_assignment_id ) =@WfTaskAssignmentIDP1)
答案 1 :(得分:0)
我假设WF_TASK_ASSIGNMENT_REVIEW
是包含您要写入的text
列的那个。
现在,SQL 2005和2008中已弃用text
类型。如果可能,请尝试升级WF_TASK_ASSIGNMENT_REVIEW
表以使用nvarchar(max)
类型。
如果没有,唯一的方法是使用WRITETEXT
语句在循环中写入目标列(因为WRITETEXT
有一个上限)。请参阅SQL Server文档中的WRITETEXT statement
示例。