SqlUserDefinedAggregateAttribute Class
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Indicates that the type should be registered as a user-defined aggregate. The properties on the attribute reflect the physical attributes used when the type is registered with SQL Server. This class cannot be inherited.

Namespace:   Microsoft.SqlServer.Server
Assembly:  System.Data (in System.Data.dll)

SystemObject
   SystemAttribute
    Microsoft.SqlServer.ServerSqlUserDefinedAggregateAttribute

[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct, 
	AllowMultiple = false, Inherited = false)]
public sealed class SqlUserDefinedAggregateAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class | AttributeTargets::Struct, 
	AllowMultiple = false, Inherited = false)]
public ref class SqlUserDefinedAggregateAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct,
    AllowMultiple = false, Inherited = false)>]
type SqlUserDefinedAggregateAttribute = 
    class
        inherit Attribute
    end
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct,
	AllowMultiple := False, Inherited := False)>
Public NotInheritable Class SqlUserDefinedAggregateAttribute
	Inherits Attribute
NameDescription
System_CAPS_pubmethod SqlUserDefinedAggregateAttribute

A required attribute on a user-defined aggregate, used to indicate that the given type is a user-defined aggregate and the storage format of the user-defined aggregate.

NameDescription
System_CAPS_pubproperty

The serialization format as a Format.

System_CAPS_pubproperty

Indicates whether the aggregate is invariant to duplicates.

System_CAPS_pubproperty

Indicates whether the aggregate is invariant to nulls.

System_CAPS_pubproperty

Indicates whether the aggregate is invariant to order.

System_CAPS_pubproperty

Indicates whether the aggregate returns null if no values have been accumulated.

System_CAPS_pubproperty

The maximum size, in bytes, of the aggregate instance.

System_CAPS_pubproperty

The name of the aggregate.

System_CAPS_pubproperty

When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)

NameDescription
System_CAPS_pubmethod Equals

This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.)

System_CAPS_pubmethod GetHashCode

Returns the hash code for this instance.(Inherited from Attribute.)

System_CAPS_pubmethod GetType

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethod IsDefaultAttribute

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)

System_CAPS_pubmethod Match

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)

System_CAPS_pubmethod ToString

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubfield System_CAPS_static MaxByteSizeValue

The maximum size, in bytes, required to store the state of this aggregate instance during computation.

NameDescription
System_CAPS_pubinterface System_CAPS_privmethod _AttributeGetIDsOfNames

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterface System_CAPS_privmethod _AttributeGetTypeInfo

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)

System_CAPS_pubinterface System_CAPS_privmethod _AttributeGetTypeInfoCount

Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterface System_CAPS_privmethod _AttributeInvoke

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

SQL Server creates a user-defined aggregate that is bound to the class definition that has the SqlUserDefinedAggregateAttribute custom attribute. Every user-defined aggregate must be annotated with this attribute.

See "CLR User-Defined Aggregates" in SQL Server 2005 Books Online for more information on user-defined aggregates and examples.

The following example shows the SqlUserDefinedAggregateAttribute attribute for a user-defined aggregate. The aggregate uses custom serialization, has a maximum size of 8000 bytes when serialized, and is invariant to nulls, duplicates, and order.

using System;
using System.IO;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Text;
using Microsoft.SqlServer.Server;


[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate(
   Microsoft.SqlServer.Server.Format.UserDefined, 
   IsInvariantToNulls = true,			
   IsInvariantToDuplicates = false,		
   IsInvariantToOrder = false,			
   MaxByteSize = 8000)				
        ]
public class Concatenate : Microsoft.SqlServer.Server.IBinarySerialize
{
Imports System
Imports System.Data
Imports System.IO
Imports Microsoft.SqlServer.Server

<Serializable(), SqlUserDefinedAggregate(Microsoft.SqlServer.Server.Format.UserDefined, _ 
                                         IsInvariantToNulls:=True, _ 
                                         IsInvariantToDuplicates:=False, _
                                         IsInvariantToOrder:=False, _
                                         MaxByteSize:=8000)> _
Public Class Concatenate
    Implements Microsoft.SqlServer.Server.IBinarySerialize
.NET Framework
Available since 2.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top