CFLib.org – Common Function Library Project

getGeneratedKey(resultStruct)

Last updated February 15, 2008
Download UDF

author

Todd Sharp Todd Sharp

Version: 1 | Requires: ColdFusion 8 | Library: DatabaseLib

 
Rated 2 time(s). Average Rating: 5.0

Description:
This UDF takes the result struct from cfquery and returns the proper generated key from that struct.

Return Values:
Returns a value.

Example:

<cfquery name="insertArtist" datasource="cfartgallery" result="r">
insert into artists
(firstName, lastName)
values(
'todd','sharp'
)
</cfquery>
<cfquery name="getArtists" datasource="cfartgallery">
select *
from artists
</cfquery>
<cfdump var="#getArtists#">
<cfoutput>#getGeneratedKey(r)#</cfoutput>

Parameters:

Name Description Required
resultStruct Structure. Yes

Full UDF Source:

<!---
Normalizes the various possible returned keys in the cfquery result struct.

@param resultStruct      Structure. (Required)
@return Returns a value.
@author Todd Sharp (todd@cfsilence.com)
@version 1, October 14, 2008
--->

<cffunction name="getGeneratedKey" hint="i normalize the key returned from cfquery" output="false">
    <cfargument name="resultStruct" hint="the result struct returned from cfquery" />
    <cfif structKeyExists(arguments.resultStruct, "IDENTITYCOL")>
        <cfreturn arguments.resultStruct.IDENTITYCOL />
    <cfelseif structKeyExists(arguments.resultStruct, "ROWID")>
        <cfreturn arguments.resultStruct.ROWID />
    <cfelseif structKeyExists(arguments.resultStruct, "SYB_IDENTITY")>
        <cfreturn arguments.resultStruct.SYB_IDENTITY />
    <cfelseif structKeyExists(arguments.resultStruct, "SERIAL_COL")>
        <cfreturn arguments.resultStruct.SERIAL_COL />    
    <cfelseif structKeyExists(arguments.resultStruct, "GENERATED_KEY")>
        <cfreturn arguments.resultStruct.GENERATED_KEY />
    <cfelse>
        <cfreturn />
    </cfif>
</cffunction>

Search CFLib.org


Latest Additions

Shawn Porter Shawn Porter added
DeMoronize
3 hour(s) ago

Chris Carey Chris Carey added
readPropertiesFi...
1 day(s) ago

Randy Johnson Randy Johnson added
lastDayofWeek
3 day(s) ago

Frank Marion Frank Marion added
sitemapPing
7 day(s) ago

Top Rated

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Barney Boisvert indentXml
Rated 5.0, 3 time(s)

Nathan Dintenfass                                 queryColumnsToSt...
Rated 5.0, 3 time(s)

Kevin Pepperman generateSsccAsn
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson