Я создал хранимую процедуру 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>
Что если я не хочу передавать дату рождения в качестве параметра? Он должен принимать значение NULL, так как я установил его как значение по умолчанию в SP.
Если я его удаляю, выдает ошибку, например, невозможно преобразовать varchar в datetime, это означает, что мы должны передать все параметры в правильном порядке.
спасибо ..