Embedded SQL, Database APIs, and PL/SQL

Size: px
Start display at page:

Download "Embedded SQL, Database APIs, and PL/SQL"

Transcription

1 Embedded SQL, Database APIs, and PL/SQL Juliana Freire Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan

2 SQL: Benefits Declarative languages: program is a prescription for what data is to be retrieved, rather than a procedure describing how to retrieve the data When we write an SQL select query, we do not make any assumptions about the order of evaluation Can be automatically optimized! Decision about order and evaluation plan is left to the optimized Optimizer has the resources to make sophisticated decisions

3 SQL: Limitations Not flexible enough for some applications Some queries cannot be expressed in SQL Non-declarative actions can t be done from SQL, e.g., printing a report, interacting with user/gui SQL queries may be just one small component of complex applications Trade-off: automatic optimization of queries expressed in powerful languages is hard

4 Solution SQL commands called from within a powerful host language program Three main integration approaches: Embed SQL in the host language (Embedded SQL) Create special API to call SQL commands (JDBC,ODBC) Allow external code to be executed from within SQL Query processing performed by the database Leverage database capabilities

5 Three-Tier Architecture A common environment for using a database has three tiers of processors: 1. Web servers --- talk to the user. 2. Application servers --- execute the business logic. 3. Database servers --- get what the app servers need from the database.

6 Three-Tier Architecture

7 Example: Amazon Database holds the information about products, customers, etc. Business logic includes things like what do I do after someone clicks checkout? Answer: Show the how will you pay for this? screen.

8 Environments, Connections, Queries The database is, in many DB-access languages, an environment Database servers maintain some number of connections, so app servers can ask queries or perform modifications The app server issues statements : queries and modifications, usually

9 Client and Servers in SQL Environment CONNECT TO <server name> AS <connection name> AUTHORIZATION <name and password> - A client may maintain several connections to the server, but only one can be active at any point in time - Operations performed while a connection is active form a session SQL Client Connection Session SQL Server

10 Three Kinds of Modules Module = application program Embedded SQL Generic SQL Interface True modules stored functions and procedures

11 Embedded SQL Embed SQL in the host language. A preprocessor converts the SQL statements into special API calls optimized access plans that are stored in the database Then a regular compiler is used to compile the code. SQL statements can refer to host variables (including special variables used to return status). Input: variable given a value by the host program to be used in a query Output: variable used to retrieve value from the database Language constructs: Connecting to a database: Declaring variables: Statements:

12 Declaring Variables

13 Executing Statements

14 Error/Status Reporting Each SQL statement executed returns a status code + additional information SQL communication area (SQLCA) Two special error variables: zero indicates normal execution negative indicates an error has occurred positive indicates warnings or special conditions, e.g., data not found Error class, e.g., syntax error Error subclass implementation dependent

15 Impedance Mismatch Updates are simple to embed: they execute, possibly modify the contents of the database, and return SQLCA structure indicating what happened Queries return data! SQL relations are (multi-) sets of records, with no a priori bound on the number of records. No such data structure exist traditionally in procedural programming languages such as C SQL supports a mechanism called a cursor to handle this.

16 Cursors Can declare a cursor on a relation or query statement (which generates a relation) Name associated with a query Can open a cursor, and repeatedly fetch a tuple then move the cursor, until all tuples have been retrieved Open causes the query to be evaluated EXEC SQL open c END-EXEC Fetch causes values of one tuple in the result to be placed on host variables EXEC SQL fetch c into :cn, :cc END-EXEC Repeated calls to fetch get successive tuples in the query result

17 Cursors (cont.) SQLSTATE gets set to to indicate no more data is available The close statement causes the database system to delete the temporary relation that holds the result of the query EXEC SQL close c END-EXEC Note: above details vary with language. Can use ORDER BY to control the order in which tuples are returned

18 Cursor: Example Define SQL query that gets names of sailors who ve reserved a boat of color desired_color, in alphabetical order, and declare a cursor for it When are input host variables bound? When open is executed! input variable

19 Embedding SQL in C: An Example input variable output variables

20 FETCH Statement What happens if updates are applied to table(s) referenced in a cursor after a result is fetched from a cursor? Important note [Chamberlin, A Complete Guide to DB2]: The result of a query associated with a cursor may be Completely materialized when the 1 st row is fetched, or Materialized one row at a time Choice depends on the access plan chose by the optimizer

21 Updates Through Cursors Can update tuples fetched by cursor by declaring that the cursor is for update" declare c cursor for select * from account where branch-name = ʻPerryridgeʼ for update" To update tuple at the current location of cursor" update account set balance = balance where current of c# Apart from their method of finding the row to be updated/deleted, positioned updates behave exactly the same as UPDATE and DELETE statements that contain a search condition#

22 Dynamic SQL Sometimes, we can t predict in advance what SQL statements will be needed Dynamic SQL allows construction of SQL statements on-the-fly Need to PREPARE/EXECUTE Example: Run-time overhead use only when essential Incurs the cost of access path selection (optimization) at run time Static SQL prepares statements in advance well-suited for applications that perform repetitive queries/transactions

23 Database APIs: Generic Interface Rather than modify compiler, add library with database calls (API) Special standardized interface: procedures/objects Pass SQL strings from language, presents result sets in a language-friendly way Embedded vs. Generic API: the difference is more a matter of look and feel than of substance Sun s JDBC: Java API Supposedly DBMS-neutral a driver traps the calls and translates them into DBMSspecific code database can be across a network

24 Database APIs: Generic Interface

25 JDBC: Architecture Four architectural components: Application (initiates and terminates connections, submits SQL statements) Driver manager (load JDBC driver) Driver (connects to data source, transmits requests and returns/translates results and error codes) Data source (processes SQL statements) See textbook for details! Java applet Java application JDBC API JDBC Driver Manager Driver Driver Oracle DB2

26 XSB-Oracle Interface Allow calls to Oracle from Prolog XSB-specific calls: db_open(oracle(name, Pass)) write('% Connected to Oracle as '), write(name), writeln('...'),nl, db_sql('drop table DEPT'), db_create_table('dept', 'DEPTNO NUMBER(2),DNAME VARCHAR2(14)'), db_import( DEPT'( DEPTNO', DNAME'), deptall), db_insert(dept_put(a1,a2),(deptall(a1,a2))), dept_put(1, computer science ), dept_put(1, biology ),

27 Stored Procedures/Functions Issues with accessing DB from remote application: JDBC incurs data transfer overheads DB resources are tied up, e.g., open cursors Advantageous to execute some of the application logic inside the database Minimize data transfer Utilize full power of database server Stored procedure is a program executed within the process space of the database Can be run by multiple users

28 Oracle s PL/SQL Oracle's procedural extension SQL. Combines the data manipulating power of SQL with the data processing power of procedural languages. Stored objects Procedures, functions packages Some uses: External procedures: PL/SQL code invoked from other languages E.g., using special tags, you can embed PL/SQL scripts into HTML source code Triggers: procedures invoked by insert, delete, update

29 Procedures In Oracle s PL/SQL SQL> create or replace procedure sum_salary 2 is 3 cursor c1 is 4 select * from employee; 5 sal_sum integer; 6 begin 7 sal_sum := 0; 8 for emp_rec in c1 loop 9 sal_sum := sal_sum + emp_rec.salary; 10 end loop; 11 dbms_output.put_line('salary sum: ' sal_sum); 12 end; 13 / Procedure created. SQL> exec sum_salary Salary sum: PL/SQL procedure successfully completed.

30 Functions In PL/SQL SQL> create or replace function f(i in integer) 2 return integer 3 is 4 begin 5 return i*i; 6 end; 7 / Function created. SQL> exec dbms_output.put_line(f(13)); 169 PL/SQL procedure successfully completed.

31 PL/SQL: Overview Block-structured language: procedures, functions, and anonymous blocks Block has three parts: a declarative part, an executable part, and an exception-handling part. [DECLARE] --- declarations BEGIN --- statements [EXCEPTION HANDLERS] END; May contain sub-blocks

32 PL/SQL: Variables and Constants Declared vars and constants can be used in SQL and procedural statements Types: SQL datatypes: CHAR, DATE, or NUMBER PL/SQL datatypes: BOOLEAN or BINARY_INTEGER E.g., part_no NUMBER(4); in_stock BOOLEAN; dept_rec dept%rowtype; my_title books.title%type Assigning values to vars: tax := price * tax_rate %ROWTYPE is used to declare a record with the same types as found in the specified database table, view or cursor %TYPE is used to declare a field with the same type as that of a specified table's column SELECT sal * 0.10 INTO bonus FROM emp WHERE empno = emp_id;

33 DECLARE PL/SQL: Variables and Constants v_emprecord emp%rowtype; BEGIN SELECT * INTO v_emprecord FROM emp WHERE ROWNUM = 1; DBMS_OUTPUT.PUT_LINE('Name = ' v_emprecord.ename); DBMS_OUTPUT.PUT_LINE('Salary = ' v_emprecord.sal); END;

34 PL/SQL: Cursors PL/SQL implicitly declares a cursor for all SQL data manipulation statements Explicitly declare a cursor for queries that return multiple rows DECLARE CURSOR c1 IS SELECT empno, ename, job FROM emp WHERE deptno = 20; Use OPEN, FETCH, and CLOSE to control cursor. OPEN executes the query associated with the cursor, identifies the result set, and positions the cursor before the first row. FETCH retrieves the current row and advances the cursor to the next row. CLOSE disables the cursor after the last row has been processed

35 PL/SQL: Cursors FOR Loops Simplify coding no need to use OPEN, FETCH, and CLOSE DECLARE CURSOR c1 IS SELECT ename, sal, hiredate, deptno FROM emp;... BEGIN FOR emp_rec IN c1 LOOP... salary_total := salary_total + emp_rec.sal; END LOOP; END

36 PL/SQL: Error Handling Exception is raised when an error occurs Exceptions Internally defined: division by zero and out of memory User defined: DECLARE insufficient_funds EXCEPTION; BEGIN IF THEN RAISE insufficient_funds; END IF; Improved readability BEGIN SELECT... SELECT... SELECT EXCEPTION WHEN NO_DATA_FOUND THEN -- catches all 'no data found' errors

37 PL/SQL: Procedures specification PROCEDURE debit_account (acct_id INTEGER, amount REAL) IS old_balance REAL; new_balance REAL; declarative overdrawn EXCEPTION; BEGIN SELECT bal INTO old_balance execution FROM accts WHERE acct_no = acct_id; new_balance := old_balance - amount; IF new_balance < 0 THEN RAISE overdrawn; ELSE UPDATE accts SET bal = new_balance WHERE acct_no = acct_id; END IF; EXCEPTION WHEN overdrawn exception THEN... END debit_account; body

38 PL/SQL: Procedures SQL> create or replace procedure sum_salary is 3 cursor c1 is declaration 4 select * from employee; 5 sal_sum integer; 6 begin 7 sal_sum := 0; 8 for emp_rec in c1 loop 9 sal_sum := sal_sum + emp_rec.salary; 10 end loop; 11 dbms_output.put_line('salary sum: ' sal_sum); 12 end; 13 / Procedure created. SQL> exec sum_salary Salary sum: PL/SQL procedure successfully completed. Procedure stored in DB execution

39 PL/SQL: Procedures SQL> create or replace procedure sum_salary is 3 cursor c1 is 4 select * from employee; 5 sal_sum integer; 6 begin 7 sal_sum := 0; 8 for emp_rec in c1 loop 9 sal_sum := sal_sum + emp_rec.salary; 10 that database. end loop; 11 - Call procedure dbms_output.put_line('salary from trigger sum: ' sal_sum); 12 end; 13 - From / SQLPlus Procedure created. SQL> exec sum_salary Salary sum: PL/SQL procedure successfully completed. Procedure stored in DB declaration Once compiled and stored in the data dictionary, it is a schema object, which can be referenced by any number of applications connected to execution - SQL> CALL create_dept('finance', 'NEW YORK');

40 PL/SQL: Functions Function = subprogram that computes a value SQL> create or replace function f(i in integer) 2 return integer 3 is 4 begin 5 return i*i; 6 end; 7 / Function created. SQL> exec dbms_output.put_line(f(13)); 169 PL/SQL procedure successfully completed.

41 What are the advantages of PL/SQL? Performance: reduced communication overheads JDBC and other APIs need to send one SQL command at a time high overhead PL/SQL: sends one block at a time Stored procedures: Executed in server close to the data Re-use application logic by multiple users Figure from PL/SQL User's Guide and Reference Release 2 (9.2)

42 PL/SQL On-line Documentation On-line documentation appdev.101/b10807/toc.htm Additional information available at SQL 2003 introduced Persistent, Stored Modules (SQL/PSM) General purpose language for creating stored procedures See textbook, chapter 9.4

43 Summary Embedded SQL allows execution of parameterized static queries within a host language Dynamic SQL allows execution of completely adhoc queries within a host language Cursor mechanism allows retrieval of one record at a time and bridges impedance mismatch between host language and SQL APIs such as JDBC introduce a layer of abstraction between application and DBMS

44 Additional References Google JDBC, google PL/SQL, JDBC Overview: jdbc/overview.html XSB: A Complete Guide to DB2 Universal Database. Don Chamberlin.

45 Bonus Material

46 JDBC Java Database Connectivity (JDBC) is a library used to access a database server using Java as the host language 46

47 Making a Connection The JDBC classes import java.sql.*; Class.forName(com.mysql.jdbc.Driver); Connection mycon = DriverManager.getConnection( ); Loaded by forname URL of the database your name, and password go here. The driver for mysql; others exist 47

48 Statements JDBC provides two classes: 1. Statement = an object that can accept a string that is a SQL statement and can execute such a string. 2. PreparedStatement = an object that has an associated SQL statement ready to execute. 48

49 Creating Statements The Connection class has methods to create Statements and PreparedStatements. Statement stat1 = mycon.createstatement(); PreparedStatement stat2 = mycon.createstatement( SELECT beer, price FROM Sells + WHERE bar = Joe s Bar ); createstatement with no argument returns a Statement; with one argument it returns a PreparedStatement.

50 Executing SQL Statements JDBC distinguishes queries from modifications, which it calls updates. Statement and PreparedStatement each have methods executequery and executeupdate. For Statements: one argument: the query or modification to be executed. For PreparedStatements: no argument.

51 Example: Update stat1 is a Statement. We can use it to insert a tuple as: stat1.executeupdate( INSERT INTO Sells + VALUES( Brass Rail, Bud,3.00) );

52 Example: Query stat2 is a PreparedStatement holding the query SELECT beer, price FROM Sells WHERE bar = Joe s Bar. executequery returns an object of class ResultSet we ll examine it later. The query: ResultSet menu = stat2.executequery();

53 Accessing the ResultSet An object of type ResultSet is something like a cursor. Method next() advances the cursor to the next tuple. The first time next() is applied, it gets the first tuple. If there are no more tuples, next() returns the value false.

54 Accessing Components of Tuples When a ResultSet is referring to a tuple, we can get the components of that tuple by applying certain methods to the ResultSet. Method getx (i ), where X is some type, and i is the component number, returns the value of that component. The value must have type X.

55 Example: Accessing Components Menu = ResultSet for query SELECT beer, price FROM Sells WHERE bar = Joe s Bar. Access beer and price from each tuple by: while ( menu.next() ) { } thebeer = Menu.getString(1); theprice = Menu.getFloat(2); /*something with thebeer and theprice*/

56 User-Defined Functions (UDF) Create additional functions to supplement the built-in function supplied by DBMS Users can utilize UDFs in SQL queries Scalar functions are applied to a column or expression and operate on a single value Table functions, when invoked, return an entire table

57 UDF Examples get_bal returns the balance of the specified account: CREATE FUNCTION get_bal(acc_no IN NUMBER) RETURN NUMBER IS acc_bal NUMBER(11,2); BEGIN SELECT order_total INTO acc_bal FROM orders WHERE customer_id = acc_no; RETURN(acc_bal); END; get_bal can be used in a SQL statement: SELECT get_bal(165) FROM dual dual is a table which is created by oracle along with the data dictionary. It consists of exactly one column whose name is dummy and one record. The value of that record is X.

58 UDF Examples CREATE OR REPLACE FUNCTION new_name(pid IN NUMBER) RETURN VARCHAR2 IS nname VARCHAR(40); BEGIN SELECT 'Pres' name INTO nname FROM test WHERE test.id = pid; RETURN(nname); END; select new_name(2) from dual

59 UDF Examples CREATE OR REPLACE FUNCTION mydouble(n IN NUMBER) RETURN NUMBER IS dn NUMBER; BEGIN dn := n*2; RETURN(dn); END; CREATE OR REPLACE FUNCTION addtitle(name IN VARCHAR) RETURN VARCHAR IS tn VARCHAR(40); BEGIN tn := 'Pres. ' name; RETURN(tn); END;

Real SQL Programming. Embedded SQL Call-Level Interface Java Database Connectivity

Real SQL Programming. Embedded SQL Call-Level Interface Java Database Connectivity Real SQL Programming Embedded SQL Call-Level Interface Java Database Connectivity 1 SQL in Real Programs We have seen only how SQL is used at the generic query interface --- an environment where we sit

More information

Real SQL Programming 1

Real SQL Programming 1 Real 1 We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional programs

More information

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University CS 377 Database Systems SQL Programming Li Xiong Department of Mathematics and Computer Science Emory University 1 A SQL Query Joke A SQL query walks into a bar and sees two tables. He walks up to them

More information

Database Programming. Week 10-2. *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford

Database Programming. Week 10-2. *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford Database Programming Week 10-2 *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford SQL in Real Programs We have seen only how SQL is used at the generic query

More information

CS346: Database Programming. http://warwick.ac.uk/cs346

CS346: Database Programming. http://warwick.ac.uk/cs346 CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)

More information

Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches

Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches Course Objectives Database Applications Design Construction SQL/PSM Embedded SQL JDBC Applications Usage Course Objectives Interfacing When the course is through, you should Know how to connect to and

More information

Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

More information

Chapter 9, More SQL: Assertions, Views, and Programming Techniques

Chapter 9, More SQL: Assertions, Views, and Programming Techniques Chapter 9, More SQL: Assertions, Views, and Programming Techniques 9.2 Embedded SQL SQL statements can be embedded in a general purpose programming language, such as C, C++, COBOL,... 9.2.1 Retrieving

More information

Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language: Database Access from a Programming Language Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

More information

Database Access from a Programming Language:

Database Access from a Programming Language: Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

More information

Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1

Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Handling Exceptions Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Objectives After completing this lesson, you should be able to do the following: Define PL/SQL

More information

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC?

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC? What is ODBC? Database Connectivity ODBC, JDBC and SQLJ CS2312 ODBC is (Open Database Connectivity): A standard or open application programming interface (API) for accessing a database. SQL Access Group,

More information

Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications

Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications Chapter 13 SQL Programming Introduction to SQL Programming Techniques Database applications Host language Java, C/C++/C#, COBOL, or some other programming language Data sublanguage SQL SQL standards Continually

More information

SQL and Programming Languages. SQL in Programming Languages. Applications. Approaches

SQL and Programming Languages. SQL in Programming Languages. Applications. Approaches SQL and Programming Languages SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8.4 of Garcia-Molina The user does not want to execute SQL

More information

Real SQL Programming. Persistent Stored Modules (PSM) PL/SQL Embedded SQL

Real SQL Programming. Persistent Stored Modules (PSM) PL/SQL Embedded SQL Real SQL Programming Persistent Stored Modules (PSM) PL/SQL Embedded SQL 1 SQL in Real Programs We have seen only how SQL is used at the generic query interface --- an environment where we sit at a terminal

More information

Constraints, Triggers, and Database Programming Information Systems Q2, 2010. Ira Assent

Constraints, Triggers, and Database Programming Information Systems Q2, 2010. Ira Assent Constraints, Triggers, and Database Programming Information Systems Q2, 2010 Ira Assent Last Lecture More SQL Joins using more than one relation Set operations Subqueries Full relation queries Database

More information

Handling Exceptions. Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total

Handling Exceptions. Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total Handling Exceptions Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total Objectives After completing this lesson, you should be able to do the following: Define PL/SQL exceptions

More information

Why Is This Important? Database Application Development. SQL in Application Code. Overview. SQL in Application Code (Contd.

Why Is This Important? Database Application Development. SQL in Application Code. Overview. SQL in Application Code (Contd. Why Is This Important? Database Application Development Chapter 6 So far, accessed DBMS directly through client tools Great for interactive use How can we access the DBMS from a program? Need an interface

More information

COSC344 Database Theory and Applications. Java and SQL. Lecture 12

COSC344 Database Theory and Applications. Java and SQL. Lecture 12 COSC344 Database Theory and Applications Lecture 12: Java and SQL COSC344 Lecture 12 1 Last Lecture Trigger Overview This Lecture Java & SQL Source: Lecture notes, Textbook: Chapter 12 JDBC documentation

More information

More SQL: Assertions, Views, and Programming Techniques

More SQL: Assertions, Views, and Programming Techniques 9 More SQL: Assertions, Views, and Programming Techniques In the previous chapter, we described several aspects of the SQL language, the standard for relational databases. We described the SQL statements

More information

Handling PL/SQL Errors

Handling PL/SQL Errors Handling PL/SQL Errors In PL/SQL, a warning or error condition is called an exception. Exceptions can be internally defined (by the run-time system) or user defined. Examples of internally defined exceptions

More information

DECLARATION SECTION. BODY STATEMENTS... Required

DECLARATION SECTION. BODY STATEMENTS... Required 1 EXCEPTION DECLARATION SECTION Optional BODY STATEMENTS... Required STATEMENTS Optional The above Construction is called PL/SQL BLOCK DATATYPES 2 Binary Integer (-2 **31-1,2**31+1) signed integer fastest

More information

How To Name A Program In Apl/Sql

How To Name A Program In Apl/Sql PL/SQL This section will provide a basic understanding of PL/SQL. This document will briefly cover the main concepts behind PL/SQL and provide brief examples illustrating the important facets of the language.

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn This Oracle Database: Program with PL/SQL training starts with an introduction to PL/SQL and then explores the benefits of this

More information

Darshan Institute of Engineering & Technology PL_SQL

Darshan Institute of Engineering & Technology PL_SQL Explain the advantages of PL/SQL. Advantages of PL/SQL Block structure: PL/SQL consist of block of code, which can be nested within each other. Each block forms a unit of a task or a logical module. PL/SQL

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle University Contact Us: +33 15 7602 081 Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn This course is available in Training On Demand format This Oracle Database: Program

More information

Database programming 20/08/2015. DBprog news. Outline. Motivation for DB programming. Using SQL queries in a program. Using SQL queries in a program

Database programming 20/08/2015. DBprog news. Outline. Motivation for DB programming. Using SQL queries in a program. Using SQL queries in a program DBprog news Database programming http://eric.univ-lyon2.fr/~jdarmont/?page_id=451 M1 Informatique Year 2015-2016 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ http://eric.univ-lyon2.fr/~jdarmont/?feed=rss2

More information

Oracle 11g PL/SQL training

Oracle 11g PL/SQL training Oracle 11g PL/SQL training Course Highlights This course introduces students to PL/SQL and helps them understand the benefits of this powerful programming language. Students learn to create PL/SQL blocks

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle University Contact Us: +52 1 55 8525 3225 Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn View a newer version of this course This Oracle Database: Program with PL/SQL

More information

CS/CE 2336 Computer Science II

CS/CE 2336 Computer Science II CS/CE 2336 Computer Science II UT D Session 23 Database Programming with Java Adapted from D. Liang s Introduction to Java Programming, 8 th Ed. and other sources 2 Database Recap Application Users Application

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn View a newer version of this course /a/b/p/p/b/pulli/lili/lili/lili/lili/lili/lili/lili/lili/lili/lili/lili/li/ul/b/p/p/b/p/a/a/p/

More information

Mimer SQL. Programmer s Manual. Version 8.2 Copyright 2000 Mimer Information Technology AB

Mimer SQL. Programmer s Manual. Version 8.2 Copyright 2000 Mimer Information Technology AB Mimer SQL Version 8.2 Copyright 2000 Mimer Information Technology AB Second revised edition December, 2000 Copyright 2000 Mimer Information Technology AB. Published by Mimer Information Technology AB,

More information

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved.

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved. What Will I Learn? In this lesson, you will learn to: Describe the structure of a PL/SQL block Identify the different types of PL/SQL blocks Identify PL/SQL programming environments Create and execute

More information

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Oracle University Contact Us: 0845 777 7711 Oracle Database: Program with PL/SQL Duration: 5 Days What you will learn This course starts with an introduction to PL/SQL and proceeds to list the benefits

More information

Oracle to MySQL Migration

Oracle to MySQL Migration to Migration Stored Procedures, Packages, Triggers, Scripts and Applications White Paper March 2009, Ispirer Systems Ltd. Copyright 1999-2012. Ispirer Systems Ltd. All Rights Reserved. 1 Introduction The

More information

SQL is capable in manipulating relational data SQL is not good for many other tasks

SQL is capable in manipulating relational data SQL is not good for many other tasks Embedded SQL SQL Is Not for All SQL is capable in manipulating relational data SQL is not good for many other tasks Control structures: loops, conditional branches, Advanced data structures: trees, arrays,

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along

More information

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Test: Final Exam Semester 1 Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Section 6 1. The following code does not violate any constraints and will

More information

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn Chapter 9 Java and SQL Wang Yang wyang@njnet.edu.cn Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to

More information

ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT

ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT INTRODUCTION: Course Objectives I-2 About PL/SQL I-3 PL/SQL Environment I-4 Benefits of PL/SQL I-5 Benefits of Subprograms I-10 Invoking Stored Procedures

More information

Handling Exceptions. Schedule: Timing Topic. 45 minutes Lecture 20 minutes Practice 65 minutes Total

Handling Exceptions. Schedule: Timing Topic. 45 minutes Lecture 20 minutes Practice 65 minutes Total 23 Handling Exceptions Copyright Oracle Corporation, 1999. All rights reserved. Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total Objectives After completing this lesson, you

More information

SQL/PSM. Outline. Database Application Development Oracle PL/SQL. Why Stored Procedures? Stored Procedures PL/SQL. Embedded SQL Dynamic SQL

SQL/PSM. Outline. Database Application Development Oracle PL/SQL. Why Stored Procedures? Stored Procedures PL/SQL. Embedded SQL Dynamic SQL Outline Embedded SQL Dynamic SQL Many host languages: C, Cobol, Pascal, etc. JDBC (API) SQLJ (Embedded) Java Database Application Development Oracle PL/SQL Stored procedures CS430/630 Lecture 15 Slides

More information

PL/SQL Overview. Basic Structure and Syntax of PL/SQL

PL/SQL Overview. Basic Structure and Syntax of PL/SQL PL/SQL Overview PL/SQL is Procedural Language extension to SQL. It is loosely based on Ada (a variant of Pascal developed for the US Dept of Defense). PL/SQL was first released in ١٩٩٢ as an optional extension

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

More information

Oracle Database: Develop PL/SQL Program Units

Oracle Database: Develop PL/SQL Program Units Oracle University Contact Us: 1.800.529.0165 Oracle Database: Develop PL/SQL Program Units Duration: 3 Days What you will learn This Oracle Database: Develop PL/SQL Program Units course is designed for

More information

Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts

Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts D80186GC10 Oracle Database: Program with Summary Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts Level Professional Technology Oracle

More information

Oracle8/ SQLJ Programming

Oracle8/ SQLJ Programming Technisch&AJniversitatDarmstadt Fachbeteich IpfcJrrnatik Fachgebiet PrjN^ische Informattk 7 '64283 Dar ORACLE Oracle Press Oracle8/ SQLJ Programming Tecbnischa UniversMt Osr FACHBEREICH INFORMATiK BIBLIOTHEK

More information

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. est: Final Exam Semester 1 Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Section 6 1. How can you retrieve the error code and error message of any

More information

Embedded SQL programming

Embedded SQL programming Embedded SQL programming http://www-136.ibm.com/developerworks/db2 Table of contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Before

More information

COMS20700 DATABASES 13 PL/SQL. COMS20700 Databases Dr. Essam Ghadafi

COMS20700 DATABASES 13 PL/SQL. COMS20700 Databases Dr. Essam Ghadafi 13 PL/SQL COMS20700 Databases Dr. Essam Ghadafi PL/SQL - OVERVIEW PL/SQL: Procedure Language/Structured Query Language. Provides programming languages features: IF, Loops, subroutines,... Code can be compiled

More information

Introduction to PL/SQL Programming

Introduction to PL/SQL Programming Introduction to PL/SQL Programming Introduction to PL/SQL Programming i-ii Introduction to PL/SQL Programming 1997-2001 Technology Framers, LLC Introduction to PL/SQL Programming This publication is protected

More information

SQL: Programming. Introduction to Databases CompSci 316 Fall 2014

SQL: Programming. Introduction to Databases CompSci 316 Fall 2014 SQL: Programming Introduction to Databases CompSci 316 Fall 2014 2 Announcements (Tue., Oct. 7) Homework #2 due today midnight Sample solution to be posted by tomorrow evening Midterm in class this Thursday

More information

Intro to Embedded SQL Programming for ILE RPG Developers

Intro to Embedded SQL Programming for ILE RPG Developers Intro to Embedded SQL Programming for ILE RPG Developers Dan Cruikshank DB2 for i Center of Excellence 1 Agenda Reasons for using Embedded SQL Getting started with Embedded SQL Using Host Variables Using

More information

Embedded SQL. Unit 5.1. Dr Gordon Russell, Copyright @ Napier University

Embedded SQL. Unit 5.1. Dr Gordon Russell, Copyright @ Napier University Embedded SQL Unit 5.1 Unit 5.1 - Embedde SQL - V2.0 1 Interactive SQL So far in the module we have considered only the SQL queries which you can type in at the SQL prompt. We refer to this as interactive

More information

PL/SQL (Cont d) Let s start with the mail_order database, shown here:

PL/SQL (Cont d) Let s start with the mail_order database, shown here: PL/SQL (Cont d) Let s start with the mail_order database, shown here: 1 Table schemas for the Mail Order database: 2 The values inserted into zipcodes table: The values inserted into employees table: 3

More information

Handling PL/SQL Errors

Handling PL/SQL Errors 7 Handling PL/SQL Errors There is nothing more exhilarating than to be shot at without result. Winston Churchill Run-time errors arise from design faults, coding mistakes, hardware failures, and many other

More information

JDBC (Java / SQL Programming) CS 377: Database Systems

JDBC (Java / SQL Programming) CS 377: Database Systems JDBC (Java / SQL Programming) CS 377: Database Systems JDBC Acronym for Java Database Connection Provides capability to access a database server through a set of library functions Set of library functions

More information

Training Guide. PL/SQL for Beginners. Workbook

Training Guide. PL/SQL for Beginners. Workbook An Training Guide PL/SQL for Beginners Workbook Workbook This workbook should be worked through with the associated Training Guide, PL/SQL for Beginners. Each section of the workbook corresponds to a section

More information

Overview. Database Application Development. SQL in Application Code (Contd.) SQL in Application Code. Embedded SQL. Embedded SQL: Variables

Overview. Database Application Development. SQL in Application Code (Contd.) SQL in Application Code. Embedded SQL. Embedded SQL: Variables Overview Database Application Development Chapter 6 Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures Database Management Systems 3ed,

More information

Course -Oracle 10g SQL (Exam Code IZ0-047) Session number Module Topics 1 Retrieving Data Using the SQL SELECT Statement

Course -Oracle 10g SQL (Exam Code IZ0-047) Session number Module Topics 1 Retrieving Data Using the SQL SELECT Statement Course -Oracle 10g SQL (Exam Code IZ0-047) Session number Module Topics 1 Retrieving Data Using the SQL SELECT Statement List the capabilities of SQL SELECT statements Execute a basic SELECT statement

More information

Oracle PL/SQL Best Practices

Oracle PL/SQL Best Practices Achieving PL/SQL Excellence Oracle PL/SQL Best Practices Steven Feuerstein Me - www.stevenfeuerstein.com PL/Solutions - www.plsolutions.com RevealNet - www.revealnet.com 7/5/99 Copyright 1999 Steven Feuerstein

More information

Programming Database lectures for mathema

Programming Database lectures for mathema Programming Database lectures for mathematics students April 25, 2015 Functions Functions are defined in Postgres with CREATE FUNCTION name(parameter type,...) RETURNS result-type AS $$ function-body $$

More information

Developing SQL and PL/SQL with JDeveloper

Developing SQL and PL/SQL with JDeveloper Seite 1 von 23 Developing SQL and PL/SQL with JDeveloper Oracle JDeveloper 10g Preview Technologies used: SQL, PL/SQL An Oracle JDeveloper Tutorial September 2003 Content This tutorial walks through the

More information

FileMaker 14. ODBC and JDBC Guide

FileMaker 14. ODBC and JDBC Guide FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,

More information

Oracle For Beginners Page : 1

Oracle For Beginners Page : 1 Oracle For Beginners Page : 1 Chapter 24 NATIVE DYNAMIC SQL What is dynamic SQL? Why do we need dynamic SQL? An Example of Dynamic SQL Execute Immediate Statement Using Placeholders Execute a Query Dynamically

More information

Oracle Database 11g: Program with PL/SQL

Oracle Database 11g: Program with PL/SQL Oracle University Entre em contato: 0800 891 6502 Oracle Database 11g: Program with PL/SQL Duração: 5 Dias Objetivos do Curso This course introduces students to PL/SQL and helps them understand the benefits

More information

SQL Programming. CS145 Lecture Notes #10. Motivation. Oracle PL/SQL. Basics. Example schema:

SQL Programming. CS145 Lecture Notes #10. Motivation. Oracle PL/SQL. Basics. Example schema: CS145 Lecture Notes #10 SQL Programming Example schema: CREATE TABLE Student (SID INTEGER PRIMARY KEY, name CHAR(30), age INTEGER, GPA FLOAT); CREATE TABLE Take (SID INTEGER, CID CHAR(10), PRIMARY KEY(SID,

More information

An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition An Oracle White Paper June 2014 RESTful Web Services for the Oracle Database Cloud - Multitenant Edition 1 Table of Contents Introduction to RESTful Web Services... 3 Architecture of Oracle Database Cloud

More information

Oracle Database 10g: Program with PL/SQL

Oracle Database 10g: Program with PL/SQL Oracle University Contact Us: Local: 1800 425 8877 Intl: +91 80 4108 4700 Oracle Database 10g: Program with PL/SQL Duration: 5 Days What you will learn This course introduces students to PL/SQL and helps

More information

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led

More information

Java and Databases. COMP514 Distributed Information Systems. Java Database Connectivity. Standards and utilities. Java and Databases

Java and Databases. COMP514 Distributed Information Systems. Java Database Connectivity. Standards and utilities. Java and Databases Java and Databases COMP514 Distributed Information Systems Java Database Connectivity One of the problems in writing Java, C, C++,, applications is that the programming languages cannot provide persistence

More information

Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata

Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata Presented with Prakash Nauduri Technical Director Platform Migrations Group, Database Product Management Sep 30,

More information

Topics Advanced PL/SQL, Integration with PROIV SuperLayer and use within Glovia

Topics Advanced PL/SQL, Integration with PROIV SuperLayer and use within Glovia Topics Advanced PL/SQL, Integration with PROIV SuperLayer and use within Glovia 1. SQL Review Single Row Functions Character Functions Date Functions Numeric Function Conversion Functions General Functions

More information

How I hacked PacketStorm (1988-2000)

How I hacked PacketStorm (1988-2000) Outline Recap Secure Programming Lecture 8++: SQL Injection David Aspinall, Informatics @ Edinburgh 13th February 2014 Overview Some past attacks Reminder: basics Classification Injection route and motive

More information

Oracle SQL Developer for Database Developers. An Oracle White Paper June 2007

Oracle SQL Developer for Database Developers. An Oracle White Paper June 2007 Oracle SQL Developer for Database Developers An Oracle White Paper June 2007 Oracle SQL Developer for Database Developers Introduction...3 Audience...3 Key Benefits...3 Architecture...4 Key Features...4

More information

Applets, RMI, JDBC Exam Review

Applets, RMI, JDBC Exam Review Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java

More information

5.1 Database Schema. 5.1.1 Schema Generation in SQL

5.1 Database Schema. 5.1.1 Schema Generation in SQL 5.1 Database Schema The database schema is the complete model of the structure of the application domain (here: relational schema): relations names of attributes domains of attributes keys additional constraints

More information

Database Application Development. Overview. SQL in Application Code. Chapter 6

Database Application Development. Overview. SQL in Application Code. Chapter 6 Database Application Development Chapter 6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic

More information

CSC 443 Database Management Systems. The SQL Programming Language

CSC 443 Database Management Systems. The SQL Programming Language CSC 443 Database Management Systems Lecture 11 SQL Procedures and Triggers The SQL Programming Language By embedding SQL in programs written in other high-level programming languages, we produce impedance

More information

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to: D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led

More information

SQL and Java. Database Systems Lecture 19 Natasha Alechina

SQL and Java. Database Systems Lecture 19 Natasha Alechina Database Systems Lecture 19 Natasha Alechina In this Lecture SQL in Java SQL from within other Languages SQL, Java, and JDBC For More Information Sun Java tutorial: http://java.sun.com/docs/books/tutorial/jdbc

More information

Database System Concepts

Database System Concepts Chapter 8(+4): Application Design and Development APIs Web Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2010/2011 Slides (fortemente) baseados nos slides oficiais do

More information

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. SQL Databases Course by Applied Technology Research Center. 23 September 2015 This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. Oracle Topics This Oracle Database: SQL

More information

SQL and programming languages

SQL and programming languages SQL and programming languages SET08104 Database Systems Copyright Napier University Slide 1/14 Pure SQL Pure SQL: Queries typed at an SQL prompt. SQL is a non-procedural language. SQL specifies WHAT, not

More information

Embedding SQL in High Level Language Programs

Embedding SQL in High Level Language Programs Embedding SQL in High Level Language Programs Alison Butterill IBM i Product Manager Power Systems Agenda Introduction Basic SQL within a HLL program Processing multiple records Error detection Dynamic

More information

Maintaining Stored Procedures in Database Application

Maintaining Stored Procedures in Database Application Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

14 Triggers / Embedded SQL

14 Triggers / Embedded SQL 14 Triggers / Embedded SQL COMS20700 Databases Dr. Essam Ghadafi TRIGGERS A trigger is a procedure that is executed automatically whenever a specific event occurs. You can use triggers to enforce constraints

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals

More information

Oracle 10g PL/SQL Training

Oracle 10g PL/SQL Training Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural

More information

Performance Tuning for the JDBC TM API

Performance Tuning for the JDBC TM API Performance Tuning for the JDBC TM API What Works, What Doesn't, and Why. Mark Chamness Sr. Java Engineer Cacheware Beginning Overall Presentation Goal Illustrate techniques for optimizing JDBC API-based

More information

FileMaker 11. ODBC and JDBC Guide

FileMaker 11. ODBC and JDBC Guide FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered

More information

Oracle(PL/SQL) Training

Oracle(PL/SQL) Training Oracle(PL/SQL) Training 30 Days Course Description: This course is designed for people who have worked with other relational databases and have knowledge of SQL, another course, called Introduction to

More information

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c An Oracle White Paper June 2013 Migrating Applications and Databases with Oracle Database 12c Disclaimer The following is intended to outline our general product direction. It is intended for information

More information

Introduction to database management systems

Introduction to database management systems Introduction to database management systems Database management systems module Myself: researcher in INRIA Futurs, Ioana.Manolescu@inria.fr The course: follows (part of) the book "", Fourth Edition Abraham

More information

Oracle Database 11g Express Edition PL/SQL and Database Administration Concepts -II

Oracle Database 11g Express Edition PL/SQL and Database Administration Concepts -II Oracle Database 11g Express Edition PL/SQL and Database Administration Concepts -II Slide 1: Hello and welcome back to the second part of this online, self-paced course titled Oracle Database 11g Express

More information

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for

More information

Persistent Stored Modules (Stored Procedures) : PSM

Persistent Stored Modules (Stored Procedures) : PSM Persistent Stored Modules (Stored Procedures) : PSM Stored Procedures What is stored procedure? SQL allows you to define procedures and functions and store them in the database server Executed by the database

More information