###BeginCaseStudy###
Case Study: 3
Scenario 3
Application Information
You have two servers named SQL1 and SQL2. SQL1 has SQL Server 2012 Enterprise
installed. SQL2 has SQL Server 2008 Standard installed.
You have an application that is used to manage employees and office space.
Users report that the application has many errors and is very slow.
You are updating the application to resolve the issues.
You plan to create a new database on SQL1 to support the application. The script that you
plan to use to create the tables for the new database is shown in Tables.sql. The script that
you plan to use to create the stored procedures for the new database is shown in
StoredProcedures.sql. The script that you plan to use to create the indexes for the new
database is shown in Indexes.sql.
A database named DB2 resides on SQL2. DB2 has a table named EmployeeAudit that will
audit changes to a table named Employees.
A stored procedure named usp_UpdateEmployeeName will be executed only by other stored
procedures. The stored procedures executing usp_UpdateEmp!oyeeName will always handle
transactions.
A stored procedure named usp_SelectEmployeesByName will be used to retrieve the names
of employees. Usp_SelectEmployeesByName can read uncommitted data.
A stored procedure named usp_GetFutureOfficeAssignments will be used to retrieve office
assignments that will occur in the future.
StoredProcedures.sql
Indexes.sql
Tables.sql
You need to create the object used by the parameter of usp_UpdateEmployeeName.
Which code segment should you use?
A.
CREATEXML SCHEMA COLLECTION EmployeesInfo
B.
CREATETYPE EmployeesInfo AS Table
C.
CREATESCHEMA EmployeesInfo
D.
CREATETABLE EmployeesInfo
Explanation:
Example Usage of Table-Valued Parameters (Database Engine)
http://msdn.microsoft.com/en-us/library/bb510489.aspx (Benefits of using Table-Valued
Parameters)
/* Create a table type. */
CREATE TYPE LocationTableType AS TABLE
( LocationName VARCHAR(50)
, CostRate INT );
GO/* Create a procedure to receive data for the table-valued parameter. */
CREATE PROCEDURE dbo. usp_InsertProductionLocation
@TVP LocationTableType READONLY
AS
SET NOCOUNT ON
INSERT INTO AdventureWorks2012.Production.Location
(Name
,CostRate
,Availability
,ModifiedDate)
SELECT *, 0, GETDATE()
FROM @TVP;
GO
Also:
http://msdn.microsoft.com/en-us/library/ms175007.aspx(CREATE TYPE *tabletypename*
AS
TABLE)
http://msdn.microsoft.com/en-us/library/ms175010.aspx(table data types)
Wrong Answers:
http://msdn.microsoft.com/en-us/library/ms174979.aspx(CREATE TABLE)
http://msdn.microsoft.com/en-us/library/ms189462.aspx(CREATE SCHEMA)
http://msdn.microsoft.com/en-us/library/ms176009.aspx(CREATE XML SCHEMA
COLLECTION)
CREATE TYPE EmployeeInfo AS TABLE
(
EmployeeID int,
FirstName nvarchar(100),
LastName nvarchar(100),
Confirmed bit
)