Skip to main content

Professional SQL Server 2005 Programming

Professional SQL Server 2005 Programming

Robert Vieira

ISBN: 978-0-764-58434-3

Dec 2006

912 pages

Select type: Paperback

Product not available for purchase

Description

Professional SQL Server 2005 Programming shows experienced developers how to master the substantially revamped feature set of the latest release of Microsoft SQL Server. The book begins with a concise overview of the new features of SQL Server that is of interest to experienced developers. This is especially important given the substantial changes to SQL Server with this release. From there, the book quickly moves on to the ?meat? of the title. Beginning-level material has been removed to provide more room for covering new features and more extensive code examples.
Acknowledgments.

Introduction.

Chapter 1: Being Objective: Re-Examining Objects in SQL Server.

Chapter 2: Tool Time.

Chapter 3: Basic T-SQL.

Chapter 4: Creating and Altering Tables.

Chapter 5: Reviewing Keys and Constraints.

Chapter 6: Asking a Better Question: Advanced Queries.

Chapter 7: Daring to Design.

Chapter 8: SQL Server — Storage and Index Structures.

Chapter 9: Views.

Chapter 10: Scripts and Batches.

Script Basics.

Chapter 11: Getting Procedural: Stored Procedures and User-Defined.

Chapter 12: Transactions and Locks.

Chapter 13: Triggers.

Chapter 14: Nothing But NET!

Chapter 15: SQL Cursors.

Chapter 16: XML Integration

Chapter 17: Reporting for Duty, Sir!

Chapter 18: Buying in Bulk: the Bulk Copy Program (BCP) and Other Basic Bulk Operations.

Chapter 19: Getting Integrated.

Chapter 20: Replication.

Chapter 21: Looking at Things in Full: Full-Text Search.

Chapter 22: Security.

Security Basics.

Chapter 23: Playing a Good Tune: Performance Tuning.

Chapter 24: Administrator.

Chapter 25: SMO: SQL Management Objects.

Appendix A: System Functions.

Appendix B: Connectivity.

Appendix C: Getting Service.

Index.

Download Code
The code for this title is stored in a ZIP archive. If you are unable to open ZIP archives on your computer, visit WinZip.com for a free trial.
Download Code
The code for this title is stored in a ZIP archive. If you are unable to open ZIP archives on your computer, visit WinZip.com for a free trial.
Download Code
The code for this title is stored in a ZIP archive. If you are unable to open ZIP archives on your computer, visit WinZip.com for a free trial.
Download
Download Code
The code for this title is stored in a ZIP archive. If you are unable to open ZIP archives on your computer, visit WinZip.com for a free trial.
Download
ChapterPageDetailsDatePrint Run
10Error in Text
under Rules: "Unlike rules, constraints aren't really objects... but rather pieces of metadata"

then under defaults: "we have constraints which are objects, and rules, which are not objects but metadata

Rob Vieira says "The second statement is incorrect the first is correct."
08/20/2008

64Error in Code
At the bottom of page 64, the syntax for the DELETE statement has a bracket mismatch.

DELETE [TOP () [PERCENT]

should be

DELETE [TOP () [PERCENT] ]
11/13/08

74Typo in Text
"It is entirely possible to have to objects with the same name"

should be

"It is entirely possible to have two objects with the same name"
11/13/08

155Error in Text
The third line in the first paragraph reads:

"Okay, the real question is one of whether you already understand the most basic tenants of relational database design yet or not."

It should be "the most basic tenents."

11/12/08

169Error in Text
"blow"

should be:

"blob"
08/30/2007

450Error in Code
On page 450 of Professional SQL Server 2005 Programming, there begins a code block that is an improper carry forward from the 2000 edition of the book. The discussion is valid, and the results shown are from the proper code (as opposed to the code shown in the book).
Correct code:
USE AdventureWorks

/* Build the table that we'll be playing with this time */
SELECT SalesOrderID, CustomerID
INTO CursorTable
FROM Sales.SalesOrderHeader
WHERE SalesOrderID BETWEEN 43661 AND 43665

-- Declare our cursor
DECLARE CursorTest CURSOR
GLOBAL -- So we can manipulate it outside the batch
SCROLL -- So we can scroll back and see the changes
KEYSET
TYPE_WARNING
FOR
SELECT SalesOrderID, CustomerID
FROM CursorTable

-- Declare our two holding variables
DECLARE @SalesOrderID int
DECLARE @CustomerID varchar(5)
-- Get the cursor open and the first record fetched
OPEN CursorTest
FETCH NEXT FROM CursorTest INTO @SalesOrderID, @CustomerID
-- Now loop through them all
WHILE @@FETCH_STATUS=0
BEGIN
PRINT CAST(@SalesOrderID AS varchar) + ' ' + CAST
(@CustomerID AS varchar)
FETCH NEXT FROM CursorTest INTO @SalesOrderID, @CustomerID
END
-- Now it's time to clean up after ourselves
CLOSE CursorTest

DEALLOCATE CursorTest

DROP TABLE CursorTable
01/28/08

727Typo
second sentence under COPY_ONLY:
For example, logs are differential...

should read:
For example, log and differential...
02/08/07

730-1Error in Text
The DBO_ONLY command has been replaced by the RESTRICTED_USER command. The DBO_ONLY is available only for backward compatibility reasons.
02/09/07

839Typo in Text
Notifying people interested in concerns...

should be:

Notifying people interested in concerts...
11/21/08