Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Summary
The USING
directive is similar to the C# using Directive in that it allows to shorten function, type, extention methods, and UDO path names.
Syntax
Using_Directive := 'USING' (csharp_namespace | Alias '=' csharp_namespace_or_type ['.' class]).
The scope of a using directive is limited to the file in which it appears.
Create a using alias to make it easier to qualify an identifier to a namespace or type. The right side of a using alias directive must always be a fully-qualified type regardless of the using directives that come before it.
Create a using directive to use the types in a namespace without having to specify the namespace. A using directive does not give you access to any namespaces that are nested in the namespace you specify.
Examples
Specify namespace
In this example we default C# namespace resolution to the specified namespace:
DECLARE @ input string = "somejsonfile.json";
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING Microsoft.Analytics.Samples.Formats.Json;
@data0 =
EXTRACT IPAddresses string
FROM @input
USING new JsonExtractor("Devices[*]");
...
Alias namespace
In this example we use an alias to shorten the namespace path with an alias:
DECLARE @ input string = "somejsonfile.json";
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING json = Microsoft.Analytics.Samples.Formats.Json;
@data0 =
EXTRACT IPAddresses string
FROM @input
USING new json.JsonExtractor("Devices[*]");
...
Alias Type
In the following example, we alias the full type name. Note that we support quoting the name to allow all uppercase namespaces.
DECLARE @ input string = "somejsonfile.json";
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
USING json = [Microsoft.Analytics.Samples.Formats.Json.JsonExtractor];
@data0 =
EXTRACT IPAddresses string
FROM @input
USING new json("Devices[*]");
...
Additional Examples
See the examples under: