Acabei de começar a escrever um procedimento armazenado no SQL Server 2008 e tenho mais de 30 parâmetros. Eu nunca escrevi um com mais de ~10 parâmetros, e isso me fez pensar... Em que ponto existem muitos parâmetros?
Para contexto... este procedimento irá essencialmente INSERT uma única linha em uma única tabela. Haveria também um muito semelhante; embora um pouco menor; versão que realiza um UPDATE na mesma tabela. A maioria das colunas é relativamente pequena com uma mistura de int e strings ( varchar(200)
).
Quais são os problemas; bom ou mal; a ter um procedimento com um grande número de parâmetros e qual é o limite onde devo começar a considerar outros padrões?
Problemas? Eu diria que nenhum.
Joe Celko é um defensor de longas listas de parâmetros, sobre as quais ele escreve em detalhes neste artigo de duas partes :