One of the missing language features in T-SQL language is array support. In some cases you can use custom types to work with arrays that are passed as parameters to your stored procedures.
Custom types in T-SQL enable you to create alias for some table, .Net or built-in type. Once you create a custom type, you can use it for local variables and parameters of functions.
I go back and forth on whether I’d like full array support in T-SQL, as on the plus side, it simplifies interactions with external tools. On the other hand, it can promote bad habits like violating first normal form.