Chapter 2. Review of SQL Server Features for Developers

Before delving into the new features in SQL Server 2016, let's have a quick recapitulation of the features of SQL Server for developers already available in the previous versions of SQL Server. Recapitulating the most important features will help you remember what you already have in your development toolbox and also understand the need and the benefits of the new or improved features in SQL Server 2016.

Tip

This chapter has a lot of code. As this is not a book for beginners, the intention of this chapter is not to teach you the basics of database development. It is rather a reminder of the many powerful and efficient Transact-SQL (T-SQL) and other elements included in SQL Server version 2014 and even earlier.

The recapitulation starts with the mighty T-SQL SELECT statement. Besides the basic clauses, advanced techniques such as window functions, common table expressions, and the APPLY operator are explained. Then, you will pass quickly through creating and altering database objects, including tables and programmable objects, such as triggers, views, user-defined functions, and stored procedures. You will also review data modification language statements. Of course, errors might appear, so you have to know how to handle them. In addition, data integrity rules might require that two or more statements are executed as an atomic, inpisible block. You can achieve this with the help of transactions.

Note

Note that this chapter is not a comprehensive development guide.

The last section of this chapter deals with the parts of SQL Server Database Engine marketed with a common name: "Beyond Relational." This is nothing beyond the relational model—beyond relational is really just a marketing term. Nevertheless, you will review the following:

  • How SQL Server supports spatial data
  • How you can enhance the T-SQL language with Common Language Runtime (CLR) elements written in a .NET language, such as Visual C#
  • How SQL Server supports XML data

The code in this chapter uses the WideWorldImportersDW demo database. In order to test the code, this database must be present in the SQL Server instance you are using for testing, and you must also have SQL Server Management Studio (SSMS) as the client tool.

This chapter will cover the following points:

  • Core Transact-SQL SELECT statement elements
  • Advanced SELECT techniques
  • Data definition language statements
  • Data modification language statements
  • Triggers
  • Data abstraction: views, functions, and stored procedures
  • Error handling
  • Using transactions
  • Spatial data
  • CLR integration
  • XML support in SQL Server