| title | Supported DDL for Natively Compiled T-SQL modules | Microsoft Docs |
|---|---|
| ms.custom | |
| ms.date | 03/16/2017 |
| ms.prod | sql |
| ms.prod_service | database-engine, sql-database |
| ms.reviewer | |
| ms.technology | in-memory-oltp |
| ms.topic | conceptual |
| ms.assetid | 6b21f47e-bceb-4054-8b3c-9d39bb9583c0 |
| author | MightyPen |
| ms.author | genemi |
| monikerRange | =azuresqldb-current||>=sql-server-2016||=sqlallproducts-allversions||>=sql-server-linux-2017||=azuresqldb-mi-current |
[!INCLUDEappliesto-ss-asdb-xxxx-xxx-md] 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).