CLR Types

A CLR type is a user-defined data type that is based on the .NET Common Language Runtime (CLR) instead of the built-in SQL Server data types, such as INT or VARCHAR. CLR types can be used to store and process complex data with custom logic directly in the database.

In Database Explorer, you can perform operations on CLR types using the shortcut menu. Right-click a CLR type to access commands for specific tasks, such as generating scripts for CLR types.

Create a CLR type

You can create a CLR type in SQL Editor using:

  • Code completion feature to write a script.
  • SQL snippets to insert predefined or custom code.

Delete a CLR type

1. Right-click the CLR type you want to delete and select Delete.

Alternatively, press Delete.

2. Click Yes to confirm the deletion.

Note

You cannot undo the drop operation. Back up the database before you delete the CLR type from the database.

Generate a script for a CLR type

1. Right-click the required CLR type, select Generate Script As, then select the statement type.

2. Select one of the following options:

  • To New SQL Window – Opens the script in a new SQL document.
  • To File – Generates the script to a .sql file.
  • To Clipboard – Copies the script to the clipboard.

For more information, see Generate the DDL and DML statements for database objects.

View properties of a CLR type

To view properties of a CLR type, right-click the CLR type or CLR Types node and select Show Details.

Object Viewer opens and provides detailed information about the CLR type.

Refresh CLR types

To update the CLR type to reflect the latest changes, right-click the CLR type or CLR Types node and select Refresh.

Alternatively, press F5.

Open the Properties pane

To open the Properties pane, right-click the CLR type and select Properties.

Alternatively, press F4.

Filter CLR types

1. Right-click the CLR Types node and select Filter.

2. In the Filter Settings dialog, configure the filter parameters.

3. Click OK.

Note

When you open the CLR Types node, the number of objects it contains appears in parentheses next to the node name. This number changes based on your filter settings.

Shortcut menu options for a CLR type

The following table describes the shortcut menu options available for a CLR type in Database Explorer.

Name Description
Source Control > Source Control Manager Opens Source Control Manager, where you can track and manage changes to database schema and static data.
When Source Control Manager is already open, this option refreshes it.
Source Control > Commit Opens Source Control Manager with all local changes (if any) selected and ready to commit.
When Source Control Manager is already open, this option refreshes it and selects all local database changes.
Source Control > Get Latest Opens Source Control Manager with all remote changes (if any) selected and ready to retrieve using Get Latest.
When Source Control Manager is already open, this option refreshes it and selects all remote database changes.
Generate Script As Generates a script for the selected object using the CREATE, DROP, and DROP and CREATE statements. The script can be saved to a new SQL document or to a file, or copied to the clipboard.
Show Details Opens Object Viewer that displays object details.
Delete Drops the selected CLR type from the database.
Shortcut: Delete
Refresh Updates the object to reflect the latest changes.
Shortcut: F5
Properties Opens the Properties pane that displays the object information.
Shortcut: F4

Shortcut menu options for the CLR Types node

The following table describes the shortcut menu options available for the CLR Types node in Database Explorer.

Name Description
Source Control > Source Control Manager Opens Source Control Manager, where you can track and manage changes to database schema and static data.
When Source Control Manager is already open, this option refreshes it.
Source Control > Commit Opens Source Control Manager with all local changes (if any) selected and ready to commit.
When Source Control Manager is already open, this option refreshes it and selects all local database changes.
Source Control > Get Latest Opens Source Control Manager with all remote changes (if any) selected and ready to retrieve using Get Latest.
When Source Control Manager is already open, this option refreshes it and selects all remote database changes.
Filter Opens the Filter Settings dialog to control which CLR types should appear in Database Explorer.
Show Details Opens Object Viewer that displays object details.
Refresh Updates the object to reflect the latest changes.
Shortcut: F5

Note

The Source Control shortcut menu is available only after you link the corresponding database to a source control system.

Bulk operations

In Database Explorer, hold down Ctrl and select CLR types. Then right-click the selection and select the required option.

The following table describes the shortcut menu options available for multiple CLR types.

Name Description
Source Control > Source Control Manager Opens Source Control Manager, where you can track and manage changes to database schema and static data.
When Source Control Manager is already open, this option refreshes it.
Source Control > Commit Opens Source Control Manager with all local changes (if any) selected and ready to commit.
When Source Control Manager is already open, this option refreshes it and selects all local database changes.
Source Control > Get Latest Opens Source Control Manager with all remote changes (if any) selected and ready to retrieve using Get Latest.
When Source Control Manager is already open, this option refreshes it and selects all remote database changes.
Source Control > Link/Unlink Static Data Opens the Source Control Link Static Data dialog that displays the tables whose data you want to link.
Generate Script As Generates scripts of the selected objects using the CREATE, DROP, and DROP and CREATE statements. The scripts can be generated to a new SQL document or to a file, or copied to the clipboard.
Delete Drops the selected CLR types from the database.
Shortcut: Delete

Bulk operations for multiple CLR types