using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

public partial class StoredProcedures
{
   [Microsoft.SqlServer.Server.SqlProcedure]
   public static void ArbitraryData()
   {
      SqlDataRecord record = new SqlDataRecord(
        new SqlMetaData("City", SqlDbType.NVarChar, 100),
        new SqlMetaData("Temperature", SqlDbType.Int));

      // powoduje to wysłanie metadanych, a nie samego rekordu
      SqlContext.Pipe.SendResultsStart(record);

      record.SetString(0, "Denver, CO");
      record.SetInt32(1, 65);

      SqlContext.Pipe.SendResultsRow(record);

      record.SetString(0, "Durango, CO");
      record.SetInt32(1, 43);

      SqlContext.Pipe.SendResultsRow(record);

      SqlContext.Pipe.SendResultsEnd();

   }
};
