Either that, or it is a simple (but repeated) oversight.
Anyway, the way row-versioning works with AFTER triggers is quite intuitive.
The triggers in views are covered later in this chapter.
Another limitation of views that you may be familiar with is that a view cannot be indexed. In SQL Server 2000, you can indeed create indexed views, as shown later in this chapter.
This simplifies access to the data because the underlying query does not have to be written on the client and then submitted each time a report is run. Although you can set column-level security in SQL Server, it is tricky to maintain because it's pretty well buried in the table properties.
You may already have discovered that you can often greatly speed up Access reports by first saving the results of a complex record source query into a temporary table and then basing the report on that table rather than on the query. Row-level security must be defined at runtime because it's impossible to know what values a table will contain until then.
Views have never in the past been able to contain parameters; however, as shown later in the chapter, user-defined functions can now be used like views, effectively allowing you to create parameterized views that return different results depending on the parameter values that get passed in each time the function is run.Views are saved SELECT statements that allow you to operate on the results that are returned from them.They can be used to provide row- or column-level access to data, to wrap up complex joins, to perform complex aggregate queries, and to otherwise customize the display of data. In this chapter, learn how to define, create, and modify views, and how to perform index analysis and optimize performance in SQL Server. The biggest problem is that just when you get used to accepting a limitation, Microsoft comes up with an amazing, new feature that overcomes it!Views still, however, don't allow you to perform any of the other major SQL actions besides selecting—views can't contain syntax when defining a view.The primary use of views is to present data to users of an application.This can be implemented using the Once the view is created, its definition will be unreadable, as shown in Figure 9.2.Therefore, make sure that you save your view definition in a script file in case you ever need to modify it. Tables can be customized and tailored to the needs of the users by way of views. All permissions can be removed from the underlying tables, and as long as the owner of the table is the same as the owner of the view, the user will be able to interact with the data based on the permissions granted to the view.For example, you could create a view for a salesperson that only displays her own orders, or you might create a view for the manager, who is only interested in seeing the total sales for each salesperson. Figure 9.1 shows the Permissions dialog box for vw Customeraddress List.Sentry One e Books In these books, you will find useful, hand-picked articles that will help give insight into some of your most vexing performance problems.These articles were written by several of the SQL Server industry’s leading experts, including Paul White, Paul Randal, Jonathan Kehayias, Erin Stellato, Glenn Berry, Aaron Bertrand, and Joe Sack.