Module 9: Introduction
to Programming Objects
Overview
Displaying the Text of a Programming
Object
Introduction to Views
Advantages of Views
Creating Views
Introduction to Stored Procedures
Introduction to Triggers
Introduction to User-defined Functions
Displaying the Text of a
Programming Object
EXEC sp_helptext [@objectname = ]
‘name’
USE library
EXEC sp_helptext 'dbo.OverdueView'
GO
Not Every Programming Object Has
Associated Text
Introduction to Views
title
title_no title author synopsis
1 Last of the MohicansJames Fenimore Cooper~~~
2 The Village Watch-Tower
Kate Douglas Wiggin ~~~
3 Poems Wilfred Owen ~~~
USE library
GO
CREATE VIEW dbo.TitleView
AS
SELECT title, author
FROM title
GO
TitleView
title author
Last of the Mohicans James Fenimore Cooper User’s View
The Village Watch-Tower
Kate Douglas Wiggin
Poems Wilfred Owen
Advantages of Views
Focus the Data for Users
Focus on important or appropriate data
only
Limit access to sensitive data
Mask Database Complexity
Hide complex database design
Simplify complex queries, including
distributed queries to heterogeneous
data
Simplify Management of User
Permissions
Organize Data for Export to Other
Creating Views
Defining Views
Restrictions on Creating Views
Example: Viewing Information from
Multiple Tables
Defining Views
Example 1: Creating a View
USE library
GO
CREATE VIEW dbo.UnpaidFinesView (Member, TotalUnpaidFines)
AS
SELECT member_no, (sum(fine_assessed-fine_paid))
FROM loanhist
GROUP BY member_no
HAVING SUM(fine_assessed-fine_paid) > 0
GO
Example 2: Querying a View
SELECT *
FROM UnpaidFinesView
GO
Restrictions on Creating Views
Can Reference a Maximum of 1024
Columns
Cannot Include COMPUTE or COMPUTE
BY clauses
Cannot Include ORDER BY Clause,
Unless Used in Conjunction with a TOP
Clause
Cannot Include the INTO Keyword
Cannot Reference a Temporary Table
Must Be Expressed as a Single
Transact-SQL Batch
Example: Viewing Information from
Multiple Tables
m juveni
embe
member_nolastnamefirstname
middleinitial
photograph leadult_no birth_date
member_no
11 rThomas Gary ~~~ ~~~ 12 11 1992-01-16 00:00:00.000
12 Thomas Clair ~~~ ~~~ 13 6 1984-01-18 00:00:00.000
13 Funk Frank ~~~ ~~~
14 Rudd Clair ~~~ ~~~
USE library
GO
CREATE VIEW dbo.birthdayview BirthdayV
(lastname, firstname, birthday) iew Birth Date
lastnamefirstname
AS
SELECT lastname, firstname Thomas Gary 92.01.16
Funk Frank 84.01.18
,CONVERT(char(8), birth_date, 2)
FROM member
INNER JOIN juvenile
ON member.member_no = juvenile.member_no
GO
Introduction to Stored Procedures
Defining Stored Procedures
Advantages of Using Stored
Procedures
Defining Stored Procedures
A Stored Procedure Is a Precompiled
Collection of Transact-SQL Statements
A Stored Procedure Encapsulates
Repetitive Tasks
Stored Procedures Can:
Contain statements that perform
operations
Accept input parameters
Return status value to indicate success
or failure
Return multiple output parameters
Advantages of Using Stored
Procedures
Share Application Logic
Shield Database Schema Details
Provide Security Mechanisms
Improve Performance
Reduce Network Traffic
Introduction to Triggers
A Trigger Is a Special Type of Stored
Procedure
A Trigger Is:
Associated with a table
Invoked automatically
Not called directly
Treated as part of the transaction that
fired it
Introduction to User-defined
Functions
What Is a User-defined Function?
Creating a User-defined Function
What Is a User-defined Function?
Scalar Functions
Similar to a built-in function
Returns a single data value built by a series of
statements
Multi-Statement Table-valued Functions
Content like a stored procedure
Referenced like a view
In-line Table-valued Functions
Similar to a view with parameters
Returns a table as the result of single SELECT
statement
Creating a User-defined Function
Creating a User-defined Function
USE northwind
GO
CREATE FUNCTION fn_NewRegion ( @myinput nvarchar(30) )
RETURNS nvarchar(30)
BEGIN
IF @myinput IS NULL
SET @myinput = 'Not Applicable'
RETURN @myinput
END
GO
Restrictions on User-defined Functions
Recommended Practices
Verify Object Definition Text with EXEC sp_helptext
Use Views to Capture and Reuse Queries
Use Stored Procedures to Encapsulate Complex Procedu
Use User-defined Functions to Encapsulate Expression
Lab A: Working with Views
Review
Displaying the Text of a Programming
Object
Introduction to Views
Advantages of Views
Creating Views
Introduction to Stored Procedures
Introduction to Triggers
Introduction to User-defined Functions