| title | Supported DDL for Natively Compiled T-SQL modules |
|---|---|
| description | Learn about supported DDL constructs for natively compiled T-SQL modules, such as stored procedures, scalar UDFs, inline TVFs, and triggers. |
| author | MikeRayMSFT |
| ms.author | mikeray |
| ms.date | 03/16/2017 |
| ms.service | sql |
| ms.subservice | in-memory-oltp |
| ms.topic | concept-article |
| monikerRange | =azuresqldb-current||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current |
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance] This topic lists the supported DDL constructs for natively compiled T-SQL modules, such as stored procedures, scalar UDFs, inline TVFs, and triggers.
For information on features and T-SQL surface area that can be used as part of natively compiled T-SQL modules, see Supported Features for Natively Compiled T-SQL Modules.
For information about unsupported constructs, see Transact-SQL Constructs Not Supported by In-Memory OLTP.
The following are supported:
-
SELECT (Transact-SQL) and INSERT SELECT statements
-
SCHEMABINDING and BEGIN ATOMIC (required for natively compiled stored procedures)
For more information, see Creating Natively Compiled Stored Procedures.
-
NATIVE_COMPILATION
For more information, see Native Compilation of Tables and Stored Procedures.
-
Parameters and variables can be declared as NOT NULL (available only for natively compiled modules: natively compiled stored procedures and natively compiled, scalar user-defined functions).
-
Table-valued parameters.
For more information, see Use Table-Valued Parameters (Database Engine).
-
EXECUTE AS OWNER, SELF, CALLER and user.
-
GRANT and DENY permissions on tables and procedures.
For more information, see GRANT Object Permissions (Transact-SQL) and DENY Object Permissions (Transact-SQL).