Title: Advanced SQL
1Chapter 8
Advanced SQL Database Systems Design,
Implementation, and Management, Seventh Edition,
Rob and Coronel
2Numeric Functions
3String Functions
4String Functions (continued)
5Conversion Functions
6Conversion Functions (continued)
7Oracle Sequences
8Oracle Sequences (continued)
9Updatable Views
10Updatable Views (continued)
11Updatable Views (continued)
12Updatable Views (continued)
13Procedural SQL
14Procedural SQL (continued)
- SHOW ERRORS
- Can help diagnose errors found in PL/SQL blocks
- Yields additional debugging information whenever
error is generated after creating or executing a
PL/SQL block
15Procedural SQL (continued)
16Procedural SQL (continued)
17Triggers
18Triggers (continued)
19Triggers (continued)
20Triggers (continued)
21Triggers (continued)
22Triggers (continued)
23Triggers (continued)
24Triggers (continued)
25Triggers (continued)
26Triggers (continued)
27Triggers (continued)
28Stored Procedures
- Advantages
- Substantially reduce network traffic and increase
performance - No transmission of individual SQL statements over
network - Help reduce code duplication by means of code
isolation and code sharing - Minimize chance of errors and cost of application
development and maintenance
29Stored Procedures (continued)
30Stored Procedures (continued)
31Stored Procedures (continued)
32Stored Procedures (continued)
33Stored Procedures (continued)
34Stored Procedures (continued)
35Stored Procedures (continued)
36PL/SQL Processing with Cursors
37PL/SQL Processing with Cursors (continued)
38PL/SQL Processing with Cursors (continued)
39PL/SQL Stored Functions
- Syntax
- CREATE FUNCTION function_name (argument IN
data-type, ) RETURN data- type
ISBEGIN PL/SQL statements RETURN
(value or expression)END
40Embedded SQL
- Key differences between SQL and procedural
languages are - Run-time mismatch
- SQL executed one instruction at a time
- Host language typically runs at client side in
its own memory space - Processing mismatch
- Host language processes one data element at a
time - Data type mismatch
- Data types may not match
41Embedded SQL (continued)
- Embedded SQL framework defines
- Standard syntax to identify embedded SQL code
within host language - Standard syntax to identify host variables
- Communication area used to exchange status and
error information between SQL and host language
42Embedded SQL (continued)
43Embedded SQL (continued)
- Static SQL
- Embedded SQL in which programmer used predefined
SQL statements and parameters - End users of programs are limited to actions that
were specified in application programs - SQL statements will not change while application
is running
44Embedded SQL (continued)
- Dynamic SQL
- SQL statement is not known in advance, but
instead is generated at run time - Program can generate SQL statements at run time
that are required to respond to ad hoc queries - Attribute list and condition are not known until
end user specifies them - Tends to be much slower than static SQL
- Requires more computer resources
45Summary
- SQL provides relational set operators to combine
output of two queries to generate new relation - Operations that join tables can be classified as
inner joins and outer joins - Natural join returns all rows with matching
values in the matching columns and eliminates
duplicate columns
46Summary (continued)
- Joins may use keywords, such as USING and ON
- Subqueries and correlated queries are used when
it is necessary to process data based on other
processed data - Most subqueries are executed in serial fashion
47Summary (continued)
- SQL functions are used to extract or transform
data - Oracle sequences may be used to generate values
to be assigned to a record - PL/SQL can be used to create triggers, stored
procedures, and PL/SQL functions - A stored procedure is a named collection of SQL
statements
48Summary (continued)
- When SQL statements are designed to return more
than one value inside the PL/SQL code, cursor is
needed - Embedded SQL refers to use of SQL statements
within an application programming language