Book Image

SQL Server 2017 Developer???s Guide

Book Image

SQL Server 2017 Developer???s Guide

Overview of this book

Microsoft SQL Server 2017 is a milestone in Microsoft's data platform timeline, as it brings in the power of R and Python for machine learning and containerization-based deployment on Windows and Linux. This book prepares you for advanced topics by starting with a quick introduction to SQL Server 2017's new features. Then, it introduces you to enhancements in the Transact-SQL language and new database engine capabilities before switching to a different technology: JSON support. You will take a look at the security enhancements and temporal tables. Furthermore, the book focuses on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. Toward the end of the book, you'll be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. You'll also learn to integrate Python code into SQL Server and graph database implementations as well as the deployment options on Linux and SQL Server in containers for development and testing. By the end of this book, you will be armed to design efficient, high-performance database applications without any hassle.
Table of Contents (25 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Free Chapter
1
Introduction to SQL Server 2017
Index

Enhanced DML and DDL statements


In this section, you will explore enhancements in Data Manipulation Language (DML) and Data Definition Language (DDL) that are not part of new features or improved features from previous SQL Server versions.

The section starts with a small syntax extension that you will use often in the code examples in this book.

The conditional DROP statement (DROP IF EXISTS)

With a conditionalDROP statement, you can avoid getting an exception if the object you want to drop does not exist. If, for instance, the T1 table has already been removed or it was not created at all, the following statement will fail:

DROP TABLE dbo.T1; 

Here is the error message:

Msg 3701, Level 11, State 5, Line 5Cannot drop the table 'dbo.T1', because it does not exist or you do not have permission.

SQL Server 2016 introduces the conditional DROP statement for most of the database objects. The conditional DROP statement is a DROP statement extended with the IF EXISTS part. Repeat the preceding command...