Вы можете использовать временную таблицу, я полагаю, что это наиболее распространенный вариант, потому что она, вероятно, работает в большинстве СУБД.
В SQL Server 2008 вы можете даже передать параметр таблицы, например:
CREATE TYPE my_table_type AS TABLE(a int NOT NULL,
b int NOT NULL)
CREATE PROCEDURE [dbo].[test]
(
@model my_table_type readonly
)
AS
BEGIN
END