我正在更新MS-SQL表结构以使用nvarchar(max)而不是文本数据类型。

以前,对于使用文本数据类型的ColdFusion查询,我使用了cfsqltype="CF_SQL_LONGVARCHAR"

<cfquery name="local.qryUpdateByPK" datasource="#local.dsn#">
UPDATE
    [JobPosting]
SET
    [JobDescription] = <cfqueryparam value="#arguments.JobDescription#" cfsqltype="CF_SQL_LONGVARCHAR" null="#YesNoFormat(NOT Len(Trim(arguments.JobDescription)))#">
WHERE
    [JobPostingID] = <cfqueryparam value="#arguments.JobPostingID#" cfsqltype="CF_SQL_INTEGER">
</cfquery>


我想知道在使用nvarchar(max)或varchar(max)时应为cfsqltype属性使用什么。

最佳答案

如果有足够的内存,则nvarchar支持上的信息在Adobe主文档last I checked中有点粗略。但是,nvarchar(max)的正确sqltype是CF_SQL_LONGNVARCHAR

更新:

Database Enhancements for CF10中简要提到了新类型


对CFSQLType的新数据类型支持

cfqueryparam和cfprocparam标记支持以下SQL类型:


CF_SQL_NCHAR
CF_SQL_NVARCHAR
CF_SQL_LONGNVARCHAR
CF_SQL_NCLOB
CF_SQL_SQLXML

09-25 15:16