You are the administrator of a SQL Server 2000 computer. The server contains a database named sales. Your company uses the datab

admin2009-05-19  22

问题 You are the administrator of a SQL Server 2000 computer. The server contains a database named sales. Your company uses the database to store the sales department’s responses to requests for price quotations. The database is configured as shown in the exhibit.

Developers in your company create an application used for saving quotations. The application executes the following transact-SQL statement:
UPDATE QuotationSummary
SET CustomerName = ‘Jean-Paul Deloria’
WHERE QuotationID = 12

When the application executes the statement, the developers receive the following error:
Server: Mrh4403, Level 16, Stats 1, Line 1
View or function ‘QuotationSummary’ is not updateable because it contains aggregates:

You want developers to be able to use this UPDATE statement without generating errors. What should you do?

选项 A、Create an INSTEAD OF trigger on the view to update the composite tables.
B、Grant the developers UPDATE permissions on each base table.
C、Add a cascading update trigger on each base table.
D、Create a QuotationSummary table and populate the table with data from the base tables.

答案A

解析 Explanation: SQL Server 2000 uses INSTEAD OF triggers and partitioned views to enhance the class of updateable views. INSTEAD OF triggers can be created on a view in order to make a view updateable. The INSTEAD OF trigger is executed instead of the data modification statement on which the trigger is defined. This trigger allows the user to specify the set of actions that need to take place in order to process the data modification statement. Thus, if an INSTEAD OF trigger exists for a view on a given data modification statement, the corresponding view is updateable through that statement. If the view is a partitioned view, the view is updateable, subject to certain restrictions.

Incorrect Answers:
B: Before a user can use a database; they must be given certain permissions that are determined by the type of activity they will be permitted on the database. To run UPDATE statements against a database the user must be granted UPDATE permissions. This can be specified at the table or database level. In this scenario, granting the permission at the database level would require less administrative effort. However, the error message is not related to permissions but to the updateability of the table.

C: Cascading referential integrity constraints makes it possible to define the actions SQL Server 2000 takes when a user attempts to delete or update a key to which existing foreign keys point. Cascading referential integrity constraints fire AFTER triggers after all of the cascading referential actions directly caused by the original DELETE or UPDATE are performed.

D: Creating a table that combines the composite tables that the view is based on would deny us the ability to use the view to return aggregated column values.
转载请注明原文地址:https://jikaoti.com/ti/OwO7FFFM
0

最新回复(0)