Ho una stored procedure che accetta una stringa di un array delimitato da pipe e li analizza. Voglio che questo accada in una transazione, quindi non voglio passarli uno alla volta.È consigliabile utilizzare varchar (max) come argomento stored procedure?
Se utilizzo varchar (max) per non limitare la dimensione dell'argomento passato, causerà problemi? Non vedo il limite raggiunto, ma non voglio nemmeno indovinare o posizionare un limite arbitrario sulla stringa.
CREATE PROCEDURE myProc
@IDs varchar(max)
AS
BEGIN
...
END
GO
se si tratta di un semplice elenco di valori (non più valori) XML aggiunge un sacco di dati aggiuntivi (tutti i tag) da trasmettere. –
Ho visto altri suggerimenti sull'utilizzo di XML esattamente per questo scopo, ma aggiungerò che l'utilizzo di 'varchar (MAX)' sicuramente non causerà problemi in-and-of-itself. Esiste ancora un limite "arbitrario" (2147483647 caratteri in base alla documentazione in linea di SQL Server [per SQL Server 2005]), ma è come @KM dice "praticamente illimitato". –
Sì, sono molto interessato all'uso di XML per un singolo elenco di valori. – Kenoyer130