This tag is unsupported in CFFiddle.
Executes a stored procedure in a server database. It specifies database connection information and identifies the stored procedure.
<cfstoredproc dataSource = "data source name" procedure = "procedure name" cachedAfter = "date" cachedWithin = "time span" debug = "yes|no" timeOut = "timeout interval" fetchClientInfo = "yes|no" blockFactor = "block size" password = "password" result = "result name" returnCode = "yes|no" username = "user name">
You can specify this tag's attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag's attribute names as structure keys.
cfinsert, cfqueryparam, cfprocparam, cfprocresult, cftransaction, cfquery, cfupdate; Optimizing database use in the Developing ColdFusion Applications
ColdFusion 11: Removed the attributes - connectString, dbName, dbServer, dbtype, provider, and providerDSN.
ColdFusion 10: Added the following attributes: timeOut, fetchClientInfo,and clientInfo.
ColdFusion MX 7: Added the result attribute.
ColdFusion MX: Deprecated the connectString, dbName, dbServer, dbtype , provider, and providerDSN attributes. They do not work, and might cause an error, in releases later than ColdFusion 5. (Releases starting with ColdFusion MX use Type 4 JDBC drivers.)
Attribute |
Req/Opt |
Default |
Description |
|---|---|---|---|
dataSource |
Required |
|
Name of data source that points to database that contains stored procedure. |
procedure |
Required |
|
Name of stored procedure on database server. |
blockFactor |
Optional |
1 |
Maximum number of rows to get at a time from server. Range is 1 to 100. |
cachedAfter |
Optional |
|
A date value (for example, April 16, 2008, 4-16-2008). If the date of original query is after this date, ColdFusion uses cached query data. To use cached data, the current query must use same SQL statement, data source, query name, user name, and password. A date/time object is in the range 100 AD-9999 AD.When specifying a date value as a string, enclose it in quotation marks. |
cachedWithin |
Optional |
|
A time span, created using the CreateTimeSpan function. If the original query date falls within the time span, cached query data is used. CreateTimeSpan defines a period from the present, back. Takes effect only if query caching is enabled in the Administrator. To use cached data, the current query must use the same SQL statement, data source, query name, user name, and password. |
clientInfo |
Optional |
|
Structure containing properties of the client to be set on the database connection. |
debug |
Optional |
no |
|
fetchClientInfo |
Optional |
no |
If set to yes, returns a struct with the key-value pair passed by the last query. |
password |
Optional |
|
Overrides password in data source setup. |
result |
Optional |
|
Specifies a name for the structure in which cfstoredproc returns the statusCode and ExecutionTime variables. If set, this value replaces cfstoredproc as the prefix to use when accessing those variables. For more information, see Usage. |
returnCode |
Optional |
no |
|
| timeOut | Optional | Number of seconds each action is permitted to execute, before returning an error. |
|
username |
Optional |
|
Overrides username in data source setup. |
Use this tag to call a database stored procedure. Within this tag, you code cfprocresult and cfprocparam tags as follows:
<cfset ds = "sqltst">
<!---
If submitting a new book,
insert the record and display
confirmation --->
<cfif isDefined("form.title")>
<cfstoredproc procedure="Insert_Book" datasource="#ds#">
<cfprocparam
cfsqltype="cf_sql_varchar"
value="#form.title#">
<cfprocparam
cfsqltype="cf_sql_numeric"
value="#form.price#">
<cfprocparam
cfsqltype="cf_sql_date"
value="#form.publishDate#">
<cfprocparam
cfsqltype="cf_sql_numeric"
type="out"
variable="bookId">
</cfstoredproc>
<cfoutput>
<h3>'#form.title#' inserted into database.The ID is #bookId#.</h3>
</cfoutput>
</cfif>
<cfform action="#CGI.SCRIPT_NAME#" method="post">
<h3>Insert a new book</h3>
Title:
<cfinput type="text" size="20" required="yes" name="title"/>
<br/>
Price:
<cfinput type="text" size="20" required="yes" name="price" validate="float" />
<br/>
Publish Date:
<cfinput type="text" size="5" required="yes" name="publishDate" validate="date" />
<br/>
<input type="submit" value="Insert Book"/>
</cfform>
<!---
This view-only example executes a Sybase stored procedure that
returns three result sets, two of which we want. The stored
procedure returns the status code and one output parameter,
which we display. We use named notation for the parameters.
--->
<!---
<cfoutput> The output param value: #foo#<br></cfoutput>
<h3>The Results Information</h3>
<cfoutput query = RS1>#name#,#DATE_COL#<br></cfoutput><p>
<cfoutput>
<hr>
<p>Record Count: #RS1.recordCount# >p>Columns: #RS1.columnList# <hr>
</cfoutput>
<cfoutput query = RS3>#col1#,#col2#,#col3#<br>
</cfoutput><p>
<cfoutput>
<hr>
<p>Record Count: #RS3.recordCount# <p>Columns: #RS3.columnList# <hr>
The return code for the stored procedure is: #cfstoredproc.statusCode#<br>
</cfoutput>
--->
Sign in to your account