我创建了一个SQL存储过程:
CREATE PROCEDURE usp_MyTableInsert
...
@name varchar(100),
@birthdate datetime = NULL,
@phoneno varchar(10),
...
我从ColdFusion代码中调用它:
<cfstoredproc
datasource="training"
procedure="usp_MyTableInsert">
....
<cfprocparam cfsqltype="CF_SQL_VARCHAR" value="#form.name#" dbvarname="@name">
<cfprocparam cfsqltype="CF_SQL_DATE" value="#ParseDateTime(form.birthdate)#" dbvarname="@birthdate">
<cfprocparam cfsqltype="CF_SQL_VARCHAR" value="#form.phoneno#" dbvarname="@phoneno">
....
</cfstoredproc>
如果我删除它,它会给我一个错误,如无法将varchar转换为datetime,这意味着我们需要以正确的顺序传递所有参数。