我正在更新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