Passar a lista de números inteiros para o procedimento armazenado
Aqui está o meu procedimento armazenado:
ALTER PROCEDURE [dbo].[Dan]
@numbers varchar(10)
AS
BEGIN
SET NOCOUNT ON;
select @numbers numbers
END
No SSMS, posso executá-lo com êxito da seguinte maneira:
exec dbo.Dan '1.2'
No ColdFusion, eu posso executá-lo com sucesso com um desses dois conjuntos de comandos:
<cfstoredproc procedure="dbo.dan" datasource="ClinicalDataDev">
<cfprocparam cfsqltype="cf_sql_varchar" value="1,2">
<cfprocresult name="abc">
</cfstoredproc>
<cfquery name="abcd" datasource="ClinicalDataDev">
exec dbo.Dan <cfqueryparam cfsqltype="cf_sql_varchar" value='1,2' list="no">
</cfquery>
No entanto, estou procurando melhorar isso especificando o valor como uma lista de números inteiros. Como o cfprocparam não possui um atributo list, acho que estou restrito à abordagem cfquery. Meus esforços e resultados até agora são:
<cfqueryparam cfsqltype="cf_sql_integer" value='1' list="no">
executes successfully. The purpose is to see if the procedure accepts an
integer - it does.
<cfqueryparam cfsqltype="cf_sql_integer" value='1,2' list="no">
also executes sucessfully, but returns a value of 42006. Probably not
worth persuing.
<cfqueryparam cfsqltype="cf_sql_integer" value='1,2' list="yes">
throws an error for two many paramters.
The same thing happens with cf_sql_varchar.
Como afirmado anteriormente, posso passar a lista como uma string, mas isso parece um pouco complicado. Existe uma maneira de passar a lista de números inteiros como uma lista de números inteiros?