给定一个表:

CREATE TABLE [GENERIC_TABLE] (
  [RECORD_ID] [int] IDENTITY(1,1) NOT NULL,
  [SHORT_DESC] [varchar] (50) NULL,
 CONSTRAINT [PK_GENERIC_TABLE] PRIMARY KEY CLUSTERED
 ...

我想插入一条记录,并将新RECORD_ID的值放入ColdFusion变量中。

我的CFQUERY应该是什么样?

(不可否认,这可能是一个过于简单的问题。在我的辩护中,我习惯于使用Oracle,而不是SQL Server。)

对于ColdFusion 8来说,这是不错的选择,但与版本无关的解决方案很好。

最佳答案

如果在cfquery标记中设置了result属性,则返回主键,而无需额外的SQL

<cfquery datasource="x" result="resultName">
INSERT INTO...
</cfquery>

<cfset newID = resultName.IDENTITYCOL />
  • MSSQL:IDENTITYCOL
  • Oracle:ROWID
  • Sybase:SYB_IDENTITY
  • Informix:SERIAL_COL
  • Mysql:GENERATED_KEY
  • 09-07 20:32