using System; using System.Data.Sql; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; using System.IO; [Serializable] [SqlUserDefinedAggregate(Format.UserDefined, IsInvariantToNulls = true, IsInvariantToDuplicates = false, IsInvariantToOrder = false, MaxByteSize = 8000)] public struct TervitavAgregaat:IBinarySerialize{ public void Init(){} public void Accumulate(SqlString vaartus){} public void Merge(TervitavAgregaat olemasolev){} public SqlString Terminate(){ return (SqlString)"Tere"; } public void Read(BinaryReader reader){} //Kui oleks vaja vahepealset seisundit talletada public void Write(BinaryWriter writer){} } /* D:\kodu\0704>csc /target:library TervitavAgregaat.cs CREATE ASSEMBLY TervitavAgregaat FROM 'D:\kodu\0704\TervitavAgregaat.dll' CREATE AGGREGATE TervitavAgregaat(@vaartus NVARCHAR(200)) RETURNS NVARCHAR(max) EXTERNAL NAME TervitavAgregaat.TervitavAgregaat sp_configure 'clr enabled', 1 GO RECONFIGURE GO SELECT dbo.TervitavAgregaat('juku'); Tere */