Download presentation
Presentation is loading. Please wait.
1
Stored Procedures & User Defined Functions MacDonald Ch. 23 MIS 424 MIS 424 Professor Sandvig Professor Sandvig
2
Today Stored Procedures –Store SQL statements on DB User Defined Functions (UDF) Database Transactions –Rollback
3
Stored Procedures So far: –Putting SQL queries in.NET code –Use command object to pass to database Alternative: –Stored procedures –Store SQL query on database –Call query from.aspx page or business object
4
Stored Procedures Benefits of SP: –Reusability Call same SP from many locations in code –Loose coupling Create clear separation between code & data Reduces dependencies –Changes in data source do not affect code N-Tier Programming –Diagram (Source: Microsoft)
6
Benefits of Stored Procedures Division of duties Programmers vs. database admin Security –Set permissions on procedures Users see only data accessible via procedure
7
Benefits of Stored Procedures Efficiency –SQL compiled –Execution plan saved Execute complex procedures –Triggers –Multiple SQL statements –Programming languages Transact-SQL.NET languages
8
Disadvantages More code, greater abstraction Not fully supported by all databases –MySQL Recently added Limited –Microsoft Access Store basic SQL statements
9
Creating Visual Studio
10
Creating
11
Syntax & Example Example: GetTitlesSP.aspx See handout
12
Views & Functions –Views “Virtual” tables –No data, definition only View defined by sql statement May include data from several tables Similar to stored procedure except no parameters –Benefits: Hide table details Set permissions
13
User Defined Functions Functions (user defined functions) Retrieve only May use parameters May call from SPs, other functions, SQL commands Benefits –Reusability –Hide complexity
14
User Defined Functions Creating in Visual Studio
15
User Defined Functions Syntax Create FUNCTION dbo.GetProductCategories ( @ProductID int ) RETURNS TABLE AS RETURN Select c.CatLabel FROM tblCategories c, tblProductCategories p where c.CategoryID = p.CategoryID AND p.ProductID = @ProductID sql = "select * from dbo.GetProductCategories(16) order by CatLabel";
16
Transactions Many transactions have dependency Bank transfer –Remove $$ from one account –Add to another On-line purchase –Charge credit card –Ship item Item out-of-stock?
17
Transactions If one task fails: Prior transactions are rolled back Supported by most commercial databases –Not mySQL Database keeps a log of transaction Easy to use Example: source, outputsourceoutput
18
Summary Advanced Data Techniques –Stored Procedures Parameters –Transactions Goal: –Modularity –Reusability –Robust
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.