This documentation is archived and is not being maintained.

SqlMethodAttribute Class

Indicates the determinism and data access properties of a method or property on a user-defined type (UDT). The properties on the attribute reflect the physical characteristics that are used when the type is registered with SQL Server.

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

[SerializableAttribute] 
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple=false, Inherited=false)] 
public sealed class SqlMethodAttribute : SqlFunctionAttribute
/** @attribute SerializableAttribute() */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple=false, Inherited=false) */ 
public final class SqlMethodAttribute extends SqlFunctionAttribute
SerializableAttribute 
AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple=false, Inherited=false) 
public final class SqlMethodAttribute extends SqlFunctionAttribute
Not applicable.

For a property, the SqlMethodAttribute should be used on the setter or the getter directly.

Inherits from a SqlFunctionAttribute.

The following example shows a UDT method that is attributed to indicate that the method will not be invoked on null instances of the type, that the method will not change the state of the type, and that the method will not be called when a null reference (Nothing in Visual Basic) parameters are supplied to the method invocation.

// Distance from Point to the specified x and y values method.
[SqlMethod(OnNullCall = false, IsMutator=false, InvokeIfReceiverIsNull=false)]
public Double DistanceFromXY(Int32 iX, Int32 iY)
{
   return Math.Sqrt(Math.Pow(iX - _x, 2.0) + Math.Pow(iY - _y, 2.0));
}

System.Object
   System.Attribute
     Microsoft.SqlServer.Server.SqlFunctionAttribute
      Microsoft.SqlServer.Server.SqlMethodAttribute

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

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0
Show: