BackLogic Quick-Start Tutorial

Size: px
Start display at page:

Download "BackLogic Quick-Start Tutorial"

Transcription

1 BackLogic Quick-Start Tutorial This quick-start tutorial includes step-by-step instructions on Setting up BackLogic Writing service procedures Publishing service procedures, and Testing service procedures This tutorial includes further exercises on: Querying data with PRDS_SQL Saving data with PRDS_SQL For the purpose of this tutorial, the planned setup is Oracle embedded PL/SQL gateway plus Apache HTTP server on Windows. For the convenience of users, this tutorial also includes instructions on installation of Oracle XE database and on installation of Apache HTTP server. Setting Up BackLogic For the purpose of this tutorial, setting up BackLogic includes the following steps: Install Oracle XE database Upgrade Oracle APEX Install BackLogic framework Configure embedded PL/SQL gateway, and Install GnuWin32 (Windows version of sed utility command, used with Apache input filter) Install and Configure Apache HTTP Server Test BackLogic setup Install Oracle XE database Download Oracle XE 11g R2 Unzip the downloaded file, which creates a ~/Disk1 folder Navigate to the ~/Disk1 folder from Windows Explorer Run setup.exe

2 Finish installation by following installer instruction (Database should be running at end of installation) Record the XML HTTP port you set during installation, for purpose of later Apache reverse proxy configuration. Upgrade APEX Download APEX Unzip the downloaded file, which creates a ~/apex folder Navigate to the ~/apex directory from Command Window Connect to database as SYS sqlplus /nolog conn SYS as sysdba Run installation SYSAUX SYSAUX TEMP /i/ This step may take 30 min to complete. Reconnect to database as SYS sqlplus /nolog conn SYS as sysdba Run following scripts to install json parser alter session set current_schema grant execute on apex_ wwv_flow_json to public; create public synonym apex_json for apex_ wwv_flow_json; exit Install BackLogic Download BackLogic software Navigate to the ~/prds directory from Command Window Unzip the downloaded file, which creates a ~/prds folder Connect to database as SYS sqlplus /nolog conn SYS as sysdba Copyright BackLogic Systems LLC Page 1

3 Run installation Note: This script creates and installs BackLogic packages in a new user schema PRDS. The default password for PRDS is prdsadmin. Configure Embedded PL/SQL Gateway (EPG) Connect to database as SYS sqlplus /nolog conn SYS as sysdba Run following scripts to configure EPG EXEC DBMS_EPG.CREATE_DAD('PRDS', '/prds/*') EXEC DBMS_EPG.SET_DAD_ATTRIBUTE('PRDS', 'path-alias', 'rest') EXEC DBMS_EPG.SET_DAD_ATTRIBUTE('PRDS','path-aliasprocedure','prds_rest.service') EXEC DBMS_EPG.SET_DAD_ATTRIBUTE('PRDS', 'database-username', 'PRDS') EXEC DBMS_EPG.AUTHORIZE_DAD('PRDS', 'PRDS') exit Install GnuWin32 Download GnuWin32 Note: Get Setup not zip for complete package, for easy installation Run downloaded file (sed setup.exe) to start installation Finish installation by following installer instruction Install and Configure Apache HTTP Server Install Apache Server Download Apache HTTP Server Unzip downloaded file, which creates a ~/Apache24/ folder Copyright BackLogic Systems LLC Page 2

4 Note: Get VC10 Win 64 or VC10 Win 32 to reduce chance of having to do for Visual C++ installation) Configure Apache Server Navigate to the ~/Apache24/ folder from Windows Explorer Open and Edit the httpd.conf file Update Apache directory in following lines: ServerRoot "C:\Program Files\Apache24" DocumentRoot "C:\Program Files\Apache24\htdocs" <Directory "C:\Program Files\Apache24\htdocs"> Uncomment following modules: LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so Add following configurations at end of file: #Reverse Proxy ProxyRequests off ProxyPass /prds/ ProxyPassReverse /prds/ #JSON Filter ExtFilterDefine json mode=input intype=application/json cmd="c:\\program\ Files\ (x86)\\gnuwin32\\bin\\sed.exe 1s/^/i=/" <Location /prds/rest/> SetInputFilter json </Location> Save change in httpd.conf Note: The above configurations assume: The database HTTP port is 8080 (see ProxyPass and ProxyPassReverse) Apache use default HTTP port 80 (see Listen) Apache 2.4 is installed in C:\Program Files\Apache24 (see ServerRoot, DocumentRoot and <Directory>) GnuWin32 is installed in C:\Program Files (x86)\gunwin32 (see ExtFilterDefine) Modify if not true. Install BackLogic Testing Page to Apache server Copyright BackLogic Systems LLC Page 3

5 Navigate to the ~/Apache24/htdocs folder form Windows Explorer Create a new folder prds in the above folder Copy the testing.html file from the BackLogic download folder ~/prds to the new folder ~/Apache24/htdocs/prds Start Apache Server Navigate to the ~/Apache24/bin directory from Command Window Run httpd.exe to start Apache server Test BackLogic Setup For purpose of this tutorial, we will use the BackLogic Testing Page that comes with the BackLogic download for all BackLogic testing: Open a web browser and load the BackLogic Testing Page On the BackLogic Testing Page Enter URL: Enter JSON input: "hello":"world" Click Submit, you expect to see the following response: "success": true, "data": "hello": "World" If you do see above response, congratulations! You have successfully completed the BackLogic setup. The setup process is expected to be fairly smooth. However, in case that you do encounter issues that cannot be solved easily, please post your problem in BackLogic forum. Writing Service Procedure For purpose of this tutorial, we write a simple service procedure that takes a name from client request and returns Hi name! as response. Copyright BackLogic Systems LLC Page 4

6 Package Specification CREATE OR REPLACE PACKAGE greeting_service END; / PROCEDURE HiMe(p_input IN PRDS_JSON, p_output OUT PRDS_JSON); Note that the service procedure must be placed in a PL/SQL package and must implement a standard service interface that includes one PRDS_JSON input parameter and one PRDS_JSON output parameter as shown. Package Body CREATE OR REPLACE PACKAGE BODY greeting_service PROCEDURE HiMe(p_input IN PRDS_JSON, p_output OUT PRDS_JSON) END; / BEGIN v_name VARCHAR2(100); -- validate input IF ( NOT p_input.exist('name') ) THEN prds_exception.invalid_input('name is missing!'); END IF; -- get name v_name := p_input.get('name'); -- validate name IF ( length(v_name) > 10 ) THEN prds_exception.invalid_transaction('your name is too long!'); END IF; -- construct output p_output := prds_json.newobject(); p_output.put('hello', ('Hi ' v_name '!') ); END HiMe; Note that the HiMe procedure is purposely made more complicated than necessary to additionally demo how input and business validation failures are supposed to be handled. Package Compilation For purpose of this tutorial, compile the above package in the PRDS schema. Copyright BackLogic Systems LLC Page 5

7 Publishing Service Procedure Since the greeting_service package is compiled directly in the PRDS schema, it is automatically published and is ready to test. Otherwise, privilege to execute the package needs to be granted to user PRDS. Testing Service Procedure Testing Tool Open the BackLogic Testing Page in your web browser: Testing URL Paste the above URL in the URL field of the Testing Page. Please notice how the service package name (greeting_service) and procedure name (HiMe) are included in the URL. Test Happy Path Paste the following into the JSON input field of the Testing Page: "name":"john" Click Submit and you should get the following response: "success": true, "data": "hello": "Hi John!" Test Exceptions: Paste the following JSON: "name":"john Benjemin James" Click Submit and you should get: "success": false, "exception": "type": "InvalidTransaction", Copyright BackLogic Systems LLC Page 6

8 "message": "Your name is too long!", "detail": null Paste the following JSON: "hello":"john" Click Submit and you should get: "success": false, "exception": "type": "InvalidInput", "message": "Name is missing!", "detail": null As the name property is not present in the input JSON. Service Procedure Exercises Overview The exercises in this tutorial are based on the HR tables installed with Oracle database, including locations departments employees jobs, and job_history The relationships between these relations are basically: a location has zero or many departments a department has zero or many employees and zero or one manger, who is a glorified employee an employee has one current job and zero or many job history entries a job history entry is associated with one job The exercises included in this tutorial are: Query department records by location Query all locations along with departments Saving employee records Copyright BackLogic Systems LLC Page 7

9 For these exercises, we will create a spate user schema, namely PRDSUSER, to host the service procedures. To create this new user: Connect to database as SYS from Command Window sqlplus /nolog conn sys as sysdba Execute the following scripts create user prdsuser identified by prdsuser; grant connect, resource to prdsuser; grant create public synonym to prdsuser; grant all on hr.locations to prdsuser; grant all on hr.departments to prdsuser; grant all on hr.employees to prdsuser; grant all on hr.jobs to prdsuser; grant all on hr.job_history to prdsuser; grant select on hr.employees_seq to prdsuser; We are now ready for the exercises. Exercise #1 Query Departments by Location Requirements: Purpose: Write a service procedure to return the department records for a given location id. This is a trivial exercise in the sense that it is a simple table dump, but it showcases how convenient it is to hold the SQL statement and to bind an input parameter with REF CURSOR. Input: locationid:1700 Output: [, ] "DEPARTMENT_ID": 160, "DEPARTMENT_NAME": "Benefits", "LOCATION_ID": 1700, "MANAGER_ID": null Copyright BackLogic Systems LLC Page 8

10 Write Service Procedure Specification: Create package tutorial_exercises and procedure depts_by_location specification as in the following: CREATE OR REPLACE PACKAGE tutorial_exercises END; / PROCEDURE depts_by_location (p_input IN prds_json, p_output OUT prds_json); Implementation: Create the package and procedure body as in the following: CREATE OR REPLACE PACKAGE BODY tutorial_exercises PROCEDURE depts_by_location (p_input IN prds_json, p_output OUT prds_json) BEGIN cur sys_refcursor; -- open cursor OPEN cur FOR SELECT * FROM hr.departments WHERE location_id = p_input.getnumber('locationid'); -- crate output json from cursor p_output := prds_sql.cursor_to_array(cur); END depts_by_location; END; / Publish Service Procedure Connect to database as PRDSUSER sqlplus prdsuser/prdsuser Execute following: grant execute on tutorial_exercises to prds; Test Service Procedure URL: /prds/rest/prdsuser/tutorial_exercises/depts_by_location JSON input: Copyright BackLogic Systems LLC Page 9

11 locationid:1800 Response: "success": true, "data": [ "DEPARTMENT_ID": 20, "DEPARTMENT_NAME": "Marketing", "LOCATION_ID": 1800, "MANAGER_ID": 201 ] Exercise #2 Query All Locations Along with Departments Requirements: Purpose: Write a service procedure to return all locations along with departments in each location, manager and employees in each department, and job history for each employee. This exercise not only illustrates how to write the SQL for a structured JSON, but also showcases the power of the BackLogic object-relation transformation engine. Input: Output: [ "locid": 1700, "city": "Seattle", "state": "Washington", "country": "US", "departments": [ "deptid": 90, "deptname": "Executive", "employees": [ " ": "NKOCHHAR", "empid": 101, Copyright BackLogic Systems LLC Page 10

12 ], ] "firstname": "Neena", "lastname": "Kochhar", "phone": " ", "title": "Administration Vice President" "jobhistory": [ "enddate": " T00:00:00Z", "startdate": " T00:00:00Z", "title": "Accounting Manager", ], ], "manager": " ": "SKING", "empid": 100, "firstname": "Steven", "lastname": "King", "phone": " ", "title": "President", For this exercise, the output is a deep-nested structure. The requirement is to return a list of locations; within each location is a list of departments; within each department are a manager object and a list of employees; within each employee is a list of job history. Write Service Procedure Specification: Add procedure locations to package tutorial_exercises : CREATE OR REPLACE PACKAGE tutorial_exercises PROCEDURE depts_by_location (p_input IN prds_json, p_output OUT prds_json); PROCEDURE locations (p_input IN prds_json, p_output OUT prds_json); END; / Copyright BackLogic Systems LLC Page 11

13 Implementation: This procedure is not as straightforward as the previous one. We will do it by steps. Firstly, add a skeleton for the locations procedure to the body of tutorial_exercises package: PROCEDURE location (p_input IN prds_json, p_output OUT prds_json) cur sys_refcursor; BEGIN -- open cursor OPEN cur FOR -- select statement -- crate output json from cursor p_output := prds_sql.cursor_to_array(cur); END location; The select statement for the cursor is to be worked out in the subsequent steps. Secondly, write the query to get all information needed to fulfill the output, and test it to make sure it works: select l.location_id, l.country_id, l.state_province, l.city, d.department_id, d.department_name, m.employee_id, m.first_name, m.last_name, m. , m.phone_number, mj.job_title, e.employee_id, e.first_name, e.last_name, e. , e.phone_number, ej.job_title, h.start_date, h.end_date, hj.job_title from hr.locations l, hr.departments d, hr.employees m, Copyright BackLogic Systems LLC Page 12

14 hr.jobs mj, hr.employees e, hr.jobs ej, hr.job_history h, hr.jobs hj where d.location_id(+) = l.location_id and m.employee_id(+) = d.manager_id and mj.job_id(+) = m.job_id and e.department_id(+) = d.department_id and ej.job_id(+) = e.job_id and h.employee_id(+) = e.employee_id and hj.job_id(+) = h.job_id The out joins are used in the query, because not all locations have departments, not all departments have manager and employees, and not all employees have job history. Thirdly, add target JSON structure information to the query as column aliases: select l.location_id As "locid", l.country_id As "country", l.state_province As "state", l.city As "city", d.department_id As "departments[.deptid", d.department_name As "departments[.deptname", m.employee_id As "departments[.manager.empid", m.first_name As "departments[.manager.firstname", m.last_name As "departments[.manager.lastname", m. As "departments[.manager. ", m.phone_number As "departments[.manager.phone", mj.job_title As "departments[.manager.title", e.employee_id As "departments[.employees[.empid", e.first_name As "departments[.employees[.firstname", e.last_name As "departments[.employees[.lastname", e. As "departments[.employees[. ", e.phone_number As "departments[.employees[.phone", ej.job_title As "departments[.employees[.title", h.start_date As "departments[.employees[.jobhistory[.startdate", h.end_date As "departments[.employees[.jobhistory[.enddate", hj.job_title As "departments[.employees[.jobhistory[.title" from hr.locations l, hr.departments d, hr.employees m, hr.jobs mj, hr.employees e, hr.jobs ej, hr.job_history h, hr.jobs hj where d.location_id(+) = l.location_id Copyright BackLogic Systems LLC Page 13

15 and m.employee_id(+) = d.manager_id and mj.job_id(+) = m.job_id and e.department_id(+) = d.department_id and ej.job_id(+) = e.job_id and h.employee_id(+) = e.employee_id and hj.job_id(+) = h.job_id Notice how departments[ is used to indicate that departments is an array. Fourthly, test the above query and we will find that the Oracle complains come columns are too long (over 30 characters). To resolve this issue, we will an alias emp to substitute departments[.employees[ in the query: select l.location_id As "locid", l.country_id As "country", l.state_province As "state", l.city As "city", d.department_id As "departments[.deptid", d.department_name As "departments[.deptname", m.employee_id As "departments[.manager.empid", m.first_name As "departments[.manager.firstname", m.last_name As "departments[.manager.lastname", m. As "departments[.manager. ", m.phone_number As "departments[.manager.phone", mj.job_title As "departments[.manager.title", e.employee_id As "emp.empid", e.first_name As "emp.firstname", e.last_name As "emp.lastname", e. As "emp. ", e.phone_number As "emp.phone", ej.job_title As "emp.title", h.start_date As "emp.jobhistory[.startdate", h.end_date As "emp.jobhistory[.enddate", hj.job_title As "emp.jobhistory[.title" from hr.locations l, hr.departments d, hr.employees m, hr.jobs mj, hr.employees e, hr.jobs ej, hr.job_history h, hr.jobs hj where d.location_id(+) = l.location_id and m.employee_id(+) = d.manager_id and mj.job_id(+) = m.job_id and e.department_id(+) = d.department_id and ej.job_id(+) = e.job_id and h.employee_id(+) = e.employee_id Copyright BackLogic Systems LLC Page 14

16 and hj.job_id(+) = h.job_id Test it again and make sure it works now. Lastly, paste the above query in the procedure: PROCEDURE locations (p_input IN PRDS_JSON, p_output OUT PRDS_JSON) cur sys_refcursor; alias_map prds_sql.map; BEGIN -- open cursor OPEN cur FOR select l.location_id As "locid", l.country_id As "country", l.state_province As "state", l.city As "city", d.department_id As "departments[.deptid", d.department_name As "departments[.deptname", m.employee_id As "departments[.manager.empid", m.first_name As "departments[.manager.firstname", m.last_name As "departments[.manager.lastname", m. As "departments[.manager. ", m.phone_number As "departments[.manager.phone", mj.job_title As "departments[.manager.title", e.employee_id As "emp.empid", e.first_name As "emp.firstname", e.last_name As "emp.lastname", e. As "emp. ", e.phone_number As "emp.phone", ej.job_title As "emp.title", h.start_date As "emp.jobhistory[.startdate", h.end_date As "emp.jobhistory[.enddate", hj.job_title As "emp.jobhistory[.title" from hr.locations l, hr.departments d, hr.employees m, hr.jobs mj, hr.employees e, hr.jobs ej, hr.job_history h, hr.jobs hj where d.location_id(+) = l.location_id and m.employee_id(+) = d.manager_id and mj.job_id(+) = m.job_id and e.department_id(+) = d.department_id and ej.job_id(+) = e.job_id Copyright BackLogic Systems LLC Page 15

17 and h.employee_id(+) = e.employee_id and hj.job_id(+) = h.job_id; -- create output from cursor alias_map('emp') := 'departments[.employees['; p_output := PRDS_SQL.CURSOR_TO_ARRAY(cur, alias_map); END locations; However, because we have used an alias emp in the query, we need to create an alias map and pass it to the prds_sql.cursor_to_array procedure along with the ref cursor. Publish Service Procedure Since the privilege to execute the tutorial_excercises has been granted to PRDS, the service procedure locations is automatically published. Test Service Procedure URL: /prds/rest/prdsuser/tutorial_exercises/locations JSON input: Response: "success": true, "data": [ "city": "Bern", "country": "CH", "departments": [], "locid": 3000, "state": "BE", "city": "Geneva", "country": "CH", "departments": [], "locid": 2900, "state": "Geneve", a lot more Copyright BackLogic Systems LLC Page 16

18 Exercise #3 Save Employee Records Requirements: Purpose: Write a service procedure to save a list of new and modified employee records. This exercise is to learn how to use the PRDS_SQL package to save a list of simple records. Input: [ "EMPLOYEE_ID":100, "PHONE_NUMBER":" ", "EMPLOYEE_ID":null, "FIRST_NAME":"Bob", "LT_NAME":"Smith", " ": "bsmith@backlogic.net", "HIRE_DATE":" T00:00:00Z", "JOB_ID": "AC_ACCOUNT" ] Output: "count": 2 Write Service Procedure Specification: Add procedure save_employees to package tutorial_exercises : CREATE OR REPLACE PACKAGE tutorial_exercises PROCEDURE depts_by_location (p_input IN prds_json, p_output OUT prds_json); PROCEDURE locations (p_input IN prds_json, p_output OUT prds_json); PROCEDURE save_employees (p_input IN prds_json, p_output OUT prds_json); END; / Implementation: PROCEDURE save_employees (p_input IN PRDS_JSON, p_output OUT PRDS_JSON) Copyright BackLogic Systems LLC Page 17

19 v_count integer; BEGIN -- save data v_count := prds_sql.save_rec( table_name => 'HR.EMPLOYEES', data => p_input, sequence_name => 'HR.EMPLOYEES_SEQ', id_property => 'EMPLOYEE_ID' ); --prepare output p_output := prds_json.newobject(); p_output.put('count', v_count); END save_employees; The save_employee procedure is straightforward, including only one call to save records and two lines to prepare the output. Publish Service Procedure The service procedure save_employees is automatically published. Test Service Procedure URL: /prds/rest/prdsuser/tutorial_exercises/save_employees JSON input: [ "EMPLOYEE_ID":100, "PHONE_NUMBER":" ", "EMPLOYEE_ID":null, "FIRST_NAME":"Bob", "LT_NAME":"Smith", " ": "bsmith@backlogic.net", "HIRE_DATE":" T00:00:00Z", "JOB_ID": "AC_ACCOUNT" ] Response: "success": true, "data": "count": 2 Copyright BackLogic Systems LLC Page 18

20 Note that the field name of the input JSON exactly matches the column name of the table, including the case. Exercise #4 Save Employee Records With Job History Requirements: Purpose: Write a service procedure to save a list of new and modified structured employee records. This exercise is to learn how to use the PRDS_SQL package to save a list of structured records. Input: [ "EMPLOYEE_ID":101, "PHONE_NUMBER":" ", "JOB_HISTORY": [ "EMPLOYEE_ID":101, "START_DATE":" T00:00:00Z", "END_DATE":" T00:00:00Z", ], ] Output: "success": true, "data": "empcount": 2, "histcount": 4 Write Service Procedure Specification: Add procedure save_employees to package tutorial_exercises : CREATE OR REPLACE PACKAGE tutorial_exercises Copyright BackLogic Systems LLC Page 19

21 PROCEDURE depts_by_location (p_input IN prds_json, p_output OUT prds_json); PROCEDURE locations (p_input in prds_json, p_output out prds_json); PROCEDURE save_employees (p_input in prds_json, p_output out prds_json); PROCEDURE save_employees_with_history (p_input IN PRDS_JSON, p_output OUT PRDS_JSON); END; / Implementation: PROCEDURE save_employees_with_history (p_input IN PRDS_JSON, p_output OUT PRDS_JSON) v_emp_count integer := 0; v_hist_count integer := 0; v_employee prds_json; v_employee_id integer; v_job_history prds_json; BEGIN --loop through the employee records in the input FOR i IN 1.. p_input.length() LOOP -- get the employee record v_employee := p_input.getelement(i); v_job_history := v_employee.getarray('job_history'); -- get and populate employee id for new record IF ( v_employee.get('employee_id') IS NULL ) THEN -- get id SELECT hr.employees_seq.nextval INTO v_employee_id FROM dual; -- populate employee record v_employee.put('employee_id', v_employee_id); -- populate job history FOR i IN 1..v_job_history.length() LOOP v_job_history.put('[' i '].EMPLOYEE_ID', v_employee_id); END LOOP; END IF; -- save the employee record v_emp_count := v_emp_count + prds_sql.save_rec( table_name => 'HR.EMPLOYEES', data => v_employee -- id_property => 'employee_id' ); Copyright BackLogic Systems LLC Page 20

22 -- save the job history records v_hist_count := v_hist_count + prds_sql.save_rec( table_name => 'HR.JOB_HISTORY', data => v_job_history, id_property => 'EMPLOYEE_ID,START_DATE' ); END LOOP; --prepare output p_output := prds_json.newobject(); p_output.put('empcount', v_emp_count); p_output.put('histcount', v_hist_count); END save_employees_with_history; This procedure is more complex than save_employee. Records are inserted into two tables. Note how the employee_id obtained from the sequence are added to the employee record and the job_history records. Publish Service Procedure The service procedure save_employees is automatically published. Test Service Procedure URL: /prds/rest/prdsuser/tutorial_exercises/save_employees_with_job_history JSON input: [ "EMPLOYEE_ID":101, "PHONE_NUMBER":" ", "JOB_HISTORY": [ "EMPLOYEE_ID":101, "START_DATE":" T00:00:00Z", "END_DATE":" T00:00:00Z", "JOB_ID": "ST_CLERK", "EMPLOYEE_ID":101, "START_DATE":" T00:00:00Z", "END_DATE":" T00:00:00Z", "JOB_ID": "ST_CLERK", ] "EMPLOYEE_ID":null, "FIRST_NAME":"Bob", "LT_NAME":"Smith", " ": "bsmith4@backlogic.net", "HIRE_DATE":" T00:00:00Z", "JOB_ID": "AC_MGR", Copyright BackLogic Systems LLC Page 21

23 "JOB_HISTORY": [ "START_DATE":" T00:00:00Z", "END_DATE":" T00:00:00Z", "JOB_ID": "ST_CLERK", "START_DATE":" T00:00:00Z", "END_DATE":" T00:00:00Z", "JOB_ID": "ST_CLERK" ] ] Response: "success": true, "data": "empcount": 2, "histcount": 4 Note that the field name of the input JSON exactly matches the column name of the table, including the case. Copyright BackLogic Systems LLC Page 22

Série n 6 Bis : Ateliers SQL Data Modeler (Oracle)

Série n 6 Bis : Ateliers SQL Data Modeler (Oracle) Série n 6 Bis : Ateliers SQL Data Modeler (Oracle) Getting started with data Modeler Adding a Table to An Existing Database Purpose This tutorial shows you how to add a table to an existing database using

More information

HR Database. Sample Output from TechWriter 2007 for Databases

HR Database. Sample Output from TechWriter 2007 for Databases Table of Contents...3 Tables... 4 COUNTRIES... 5 DEPARTMENTS... 6 EMPLOYEES... 7 JOBS... 9 JOB_HISTORY... 10 LOCATIONS...12 REGIONS...13 Views...14 EMP_DETAILS_VIEW... 15 Procedures...17 SECURE_DML...18

More information

Retrieving Data from Multiple Tables

Retrieving Data from Multiple Tables Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Database Lab (ECOM 4113) Lab 5 Retrieving Data from Multiple Tables Eng. Mohammed Alokshiya November 2, 2014 An JOIN clause

More information

Displaying Data from Multiple Tables. Copyright 2004, Oracle. All rights reserved.

Displaying Data from Multiple Tables. Copyright 2004, Oracle. All rights reserved. Displaying Data from Multiple Tables Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Write SELECT statements to access data

More information

Join, Sub queries and set operators

Join, Sub queries and set operators Join, Sub queries and set operators Obtaining Data from Multiple Tables EMPLOYEES DEPARTMENTS Cartesian Products A Cartesian product is formed when: A join condition is omitted A join condition is invalid

More information

Database Programming with SQL

Database Programming with SQL Database Programming with SQL 12-2 Objectives In this lesson, you will learn to: Construct and execute an UPDATE statement Construct and execute a DELETE statement Construct and execute a query that uses

More information

GIFT Department of Computing Science. CS-217/224: Database Systems. Lab-5 Manual. Displaying Data from Multiple Tables - SQL Joins

GIFT Department of Computing Science. CS-217/224: Database Systems. Lab-5 Manual. Displaying Data from Multiple Tables - SQL Joins GIFT Department of Computing Science CS-217/224: Database Systems Lab-5 Manual Displaying Data from Multiple Tables - SQL Joins V3.0 5/5/2016 Introduction to Lab-5 This lab introduces students to selecting

More information

Intermediate SQL: Aggregated Data, Joins and Set Operators

Intermediate SQL: Aggregated Data, Joins and Set Operators Intermediate SQL: Aggregated Data, Joins and Set Operators Aggregated Data and Sorting Objectives After completing this lesson, you should be able to do the following: Identify the available group functions

More information

Additional Practice Solutions

Additional Practice Solutions Additional Practice Solutions Additional Practices Solutions The following exercises can be used for extra practice after you have discussed the data manipulation language (DML) and data definition language

More information

ÇALIŞMA TEST SORULARI

ÇALIŞMA TEST SORULARI 1. A table has the following definition: EMPLOYEES( EMPLOYEE_ID NUMBER(6) NOT NULL, LAST_NAME VARCHAR2(10) NOT NULL, MANAGER_ID VARCHAR2(6)) and contains the following rows: (1001, 'Bob Bevan', '200')

More information

Database Foundations. 6-9 Joining Tables Using JOIN. Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Database Foundations. 6-9 Joining Tables Using JOIN. Copyright 2014, Oracle and/or its affiliates. All rights reserved. Database Foundations 6-9 Roadmap Introduction to Oracle Application Express Structured Query Language (SQL) Data Definition Language (DDL) Data Manipulation Language (DML Transaction Control Language (TCL)

More information

KORA. RDBMS Concepts II

KORA. RDBMS Concepts II RDBMS Concepts II Outline Querying Data Source With SQL Star & Snowflake Schemas Reporting Aggregated Data Using the Group Functions What Are Group Functions? Group functions operate on sets of rows to

More information

Oracle Database SQL Basics

Oracle Database SQL Basics Oracle Database SQL Basics Kerepes Tamás, Webváltó Kft. tamas.kerepes@webvalto.hu 2015. február 26. Copyright 2004, Oracle. All rights reserved. SQL a history in brief The relational database stores data

More information

EXISTS NOT EXISTS WITH

EXISTS NOT EXISTS WITH Subquery II. Objectives After completing this lesson, you should be able to do the following: Write a multiple-column subquery Use scalar subqueries in SQL Solve problems with correlated subqueries Update

More information

SELF TEST. List the Capabilities of SQL SELECT Statements

SELF TEST. List the Capabilities of SQL SELECT Statements 98 SELF TEST The following questions will help you measure your understanding of the material presented in this chapter. Read all the choices carefully because there might be more than one correct answer.

More information

Introduction to Oracle9i: SQL

Introduction to Oracle9i: SQL Oracle 1z0-007 Introduction to Oracle9i: SQL Version: 22.0 QUESTION NO: 1 Oracle 1z0-007 Exam Examine the data in the EMPLOYEES and DEPARTMENTS tables. You want to retrieve all employees, whether or not

More information

CBO SQL TRANSFORMER Document describes a few examples of transformations made by CBO.

CBO SQL TRANSFORMER Document describes a few examples of transformations made by CBO. 2013 CBO SQL TRANSFORMER Document describes a few examples of transformations made by CBO. Environment description OS - Oracle Linux Server release 6.3 x64 Database Oracle Database 11.2.0.3 EE with sample

More information

Exam: 1Z Title : Introduction to Oracle9i: SQL. Ver :

Exam: 1Z Title : Introduction to Oracle9i: SQL. Ver : Exam: 1Z0-007 Title : Introduction to Oracle9i: SQL Ver : 05.14.04 QUESTION 1 A: This query uses "+" to create outer join as it was in Oracle8i, but it requires also usage of WHERE clause in SELECT statement.b:

More information

Oracle Application Express

Oracle Application Express Oracle Apex Oracle Application Express Installation Guide Step by Step on Windows Mohammad Fawzy Mahmoud 2012 1 Oracle Application Express Oracle Apex Installation Guide Step by Step on Windows Install

More information

Alkérdések II. Copyright 2004, Oracle. All rights reserved.

Alkérdések II. Copyright 2004, Oracle. All rights reserved. Alkérdések II. Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Write a multiple-column subquery Use scalar subqueries in SQL

More information

Real Application Security Administration

Real Application Security Administration Oracle Database Real Application Security Administration Console (RASADM) User s Guide 12c Release 2 (12.2) E85615-01 June 2017 Real Application Security Administration Oracle Database Real Application

More information

ITCertMaster. Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way!

ITCertMaster.   Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way! ITCertMaster Safe, simple and fast. 100% Pass guarantee! http://www.itcertmaster.com Exam : 1z0-007 Title : Introduction to Oracle9i: SQL Vendor : Oracle Version : DEMO Get Latest & Valid 1Z0-007 Exam's

More information

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites Oracle Database Real Application Security Administration 12c Release 1 (12.1) E61899-04 May 2015 Oracle Database Real Application Security Administration (RASADM) lets you create Real Application Security

More information

Oracle SQL Developer Workshop

Oracle SQL Developer Workshop Oracle SQL Developer Workshop 0419 904 458 www.sagecomputing.com.au Edition AUSOUG Conference 2006 SAGE Computing Services 2005-2006 SAGE Computing Services believes the information in this documentation

More information

Database Programming with PL/SQL

Database Programming with PL/SQL Database Programming with PL/SQL 3-3 Objectives This lesson covers the following objectives: Construct and execute PL/SQL statements that manipulate data with DML statements Describe when to use implicit

More information

School of Computing and Information Technology Session: Spring CSCI835 Database Systems (Bridging Subject) Sample class test 23 July 2018

School of Computing and Information Technology Session: Spring CSCI835 Database Systems (Bridging Subject) Sample class test 23 July 2018 School of Computing and Information Technology Session: Spring 2018 University of Wollongong Lecturer: Janusz R. Getta CSCI835 Database Systems (Bridging Subject) Sample class test 23 July 2018 THE QUESTIONS

More information

CREATE TABLE COUNTRIES (COUNTRY_ID CHAR(2), COUNTRY_NAME VARCHAR2(40), REGION_ID NUMBER(4)); INSERT INTO COUNTRIES VALUES ('CA','Canada',2); INSERT INTO COUNTRIES VALUES ('DE','Germany',1); INSERT INTO

More information

Manipulating Data. Copyright 2004, Oracle. All rights reserved.

Manipulating Data. Copyright 2004, Oracle. All rights reserved. Manipulating Data Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Describe each data manipulation language (DML) statement

More information

Including Dynamic Images in Your Report

Including Dynamic Images in Your Report Including Dynamic Images in Your Report Purpose This tutorial shows you how to include dynamic images in your report. Time to Complete Approximately 15 minutes Topics This tutorial covers the following

More information

School of Computing and Information Technology. Examination Paper Autumn Session 2017

School of Computing and Information Technology. Examination Paper Autumn Session 2017 School of Computing and Information Technology CSIT115 Data Management and Security Wollongong Campus Student to complete: Family name Other names Student number Table number Examination Paper Autumn Session

More information

Installation Guide. Version Last updated: November. tryfoexnow.com 1 of 3

Installation Guide. Version Last updated: November. tryfoexnow.com 1 of 3 Installation Guide Version 3.1.0 @FOEXplugins Last updated: November tryfoexnow.com 1 of 3 FOEX Installation Guide, version 3.1.0 Copyright 2017, FOEX GmbH. All rights reserved. Authors: Peter Raganitsch,

More information

Oracle ILM Assistant Installation Guide Version 1.4

Oracle ILM Assistant Installation Guide Version 1.4 Oracle ILM Assistant Installation Guide Version 1.4 This document provides instructions for installing and running Oracle Information Lifecycle Management (ILM) Assistant. Version: 1.4 Oracle Corporation

More information

Appendix A Practices and Solutions

Appendix A Practices and Solutions Appendix A Practices and Solutions Table of Contents Practices and Solutions for Lesson I... 3 Practice I-1: Accessing SQL Developer Resources... 4 Practice I-2: Using SQL Developer... 5 Practice Solutions

More information

Creating Other Schema Objects

Creating Other Schema Objects Creating Other Schema Objects Objectives After completing this lesson, you should be able to do the following: Create simple and complex views Retrieve data from views Database Objects Object Table View

More information

Using the Set Operators. Copyright 2006, Oracle. All rights reserved.

Using the Set Operators. Copyright 2006, Oracle. All rights reserved. Using the Set Operators Objectives After completing this lesson, you should be able to do the following: Describe set operators Use a set operator to combine multiple queries into a single query Control

More information

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps:// IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://www.certqueen.com Exam : 1Z0-146 Title : Oracle database 11g:advanced pl/sql Version : Demo 1 / 9 1.The database instance was

More information

Oracle Database 10g: SQL Fundamentals II

Oracle Database 10g: SQL Fundamentals II D17111GC30 Edition 3.0 January 2009 D57874 Oracle Database 10g: SQL Fundamentals II Student Guide Volume 2 Authors Salome Clement Chaitanya Koratamaddi Priya Vennapusa Technical Contributors and Reviewers

More information

Database Foundations. 6-4 Data Manipulation Language (DML) Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Database Foundations. 6-4 Data Manipulation Language (DML) Copyright 2015, Oracle and/or its affiliates. All rights reserved. Database Foundations 6-4 Roadmap You are here Introduction to Oracle Application Express Structured Query Language (SQL) Data Definition Language (DDL) Data Manipulation Language (DML) Transaction Control

More information

Installation Guide. Version Last updated: August tryfoexnow.com 1 of 3

Installation Guide. Version Last updated: August tryfoexnow.com 1 of 3 Installation Guide Version 4.0.1 @FOEXplugins Last updated: August 2018 tryfoexnow.com 1 of 3 FOEX Installation Guide, version 4.0.1 Copyright 2018, FOEX GmbH. All rights reserved. Authors: Peter Raganitsch,

More information

Oracle 1z z0-146 Oracle Database 11g: Advanced PL/SQL. Practice Test. Version QQ:

Oracle 1z z0-146 Oracle Database 11g: Advanced PL/SQL. Practice Test. Version QQ: Oracle 1z0-146 1z0-146 Oracle Database 11g: Advanced PL/SQL Practice Test Version 1.1 QUESTION NO: 1 Which two types of metadata can be retrieved by using the various procedures in the DBMS_METADATA PL/SQL

More information

Database Programming with SQL

Database Programming with SQL Database Programming with SQL 6-4 Objectives This lesson covers the following objectives: Construct and execute a SELECT statement to join a table to itself using a self-join Interpret the concept of a

More information

Data Manipulation Language

Data Manipulation Language Manipulating Data Objectives After completing this lesson, you should be able to do the following: Describe each data manipulation language (DML) statement Insert rows into a table Update rows in a table

More information

Assignment 6. This lab should be performed under the Oracle Linux VM provided in the course.

Assignment 6. This lab should be performed under the Oracle Linux VM provided in the course. Assignment 6 This assignment includes hands-on exercises in the Oracle VM. It has two Parts. Part 1 is SQL Injection Lab and Part 2 is Encryption Lab. Deliverables You will be submitting evidence that

More information

Oracle MOOC: SQL Fundamentals

Oracle MOOC: SQL Fundamentals Week 4 Homework for Lesson 4 Homework is your chance to put what you've learned in this lesson into practice. This homework is not "graded" and you are encouraged to write additional code beyond what is

More information

DEFAULT Values, MERGE, and Multi-Table Inserts. Copyright 2009, Oracle. All rights reserved.

DEFAULT Values, MERGE, and Multi-Table Inserts. Copyright 2009, Oracle. All rights reserved. DEFAULT Values, MERGE, and Multi-Table Inserts What Will I Learn? In this lesson, you will learn to: Understand when to specify a DEFAULT value Construct and execute a MERGE statement Construct and execute

More information

Introduction to Oracle9i: SQL

Introduction to Oracle9i: SQL Introduction to Oracle9i: SQL Additional Practices Volume 3 40049GC11 Production 1.1 October 2001 D33992 Authors Nancy Greenberg Priya Nathan Technical Contributors and Reviewers Josephine Turner Martin

More information

1Z0-007 ineroduction to oracle9l:sql

1Z0-007 ineroduction to oracle9l:sql ineroduction to oracle9l:sql Q&A DEMO Version Copyright (c) 2007 Chinatag LLC. All rights reserved. Important Note Please Read Carefully For demonstration purpose only, this free version Chinatag study

More information

Database Programming with SQL

Database Programming with SQL Database Programming with SQL 7-2 Objectives In this lesson, you will learn to: Construct and execute a SELECT statement to access data from more than one table using a nonequijoin Create and execute a

More information

Oracle Application Express: Administration 1-2

Oracle Application Express: Administration 1-2 Oracle Application Express: Administration 1-2 The suggested course agenda is displayed in the slide. Each lesson, except the Course Overview, will be followed by practice time. Oracle Application Express:

More information

Bsc (Hons) Software Engineering. Examinations for / Semester 1. Resit Examinations for BSE/15A/FT & BSE/16A/FT

Bsc (Hons) Software Engineering. Examinations for / Semester 1. Resit Examinations for BSE/15A/FT & BSE/16A/FT Bsc (Hons) Software Engineering Cohort: BSE/16B/FT Examinations for 2017-2018 / Semester 1 Resit Examinations for BSE/15A/FT & BSE/16A/FT MODULE: DATABASE APPLICATION DEVELOPMENT MODULE CODE: DBT2113C

More information

Using SQL Developer. Oracle University and Egabi Solutions use only

Using SQL Developer. Oracle University and Egabi Solutions use only Using SQL Developer Objectives After completing this appendix, you should be able to do the following: List the key features of Oracle SQL Developer Identify menu items of Oracle SQL Developer Create a

More information

Misc. Triggers Views Roles Sequences - Synonyms. Eng. Mohammed Alokshiya. Islamic University of Gaza. Faculty of Engineering

Misc. Triggers Views Roles Sequences - Synonyms. Eng. Mohammed Alokshiya. Islamic University of Gaza. Faculty of Engineering Islamic University of Gaza Faculty of Engineering Computer Engineering Dept. Database Lab (ECOM 4113) Lab 9 Misc. Triggers Views Roles Sequences - Synonyms Eng. Mohammed Alokshiya December 7, 2014 Views

More information

Creating Other Schema Objects. Copyright 2004, Oracle. All rights reserved.

Creating Other Schema Objects. Copyright 2004, Oracle. All rights reserved. Creating Other Schema Objects Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Create simple and complex views Retrieve data

More information

Oracle Database Express Edition

Oracle Database Express Edition Oracle Database Express Edition Getting Started Guide 11g Release 2 (11.2) E18585-04 July 2011 Welcome to Oracle Database Express Edition (Oracle Database XE). This guide gets you quickly up and running

More information

Database Programming with SQL

Database Programming with SQL Database Programming with SQL 6-2 Objectives This lesson covers the following objectives: Construct and execute a join with the ANSI-99 USING Clause Construct and execute a join with the ANSI-99 ON Clause

More information

2. What privilege should a user be given to create tables? The CREATE TABLE privilege

2. What privilege should a user be given to create tables? The CREATE TABLE privilege Practice 1: Solutions To complete question 6 and the subsequent questions, you need to connect to the database using isql*plus. To do this, launch the Internet Explorer browser from the desktop of your

More information

Exam : 1Z Title : Introduction to Oracle9i: SQL

Exam : 1Z Title : Introduction to Oracle9i: SQL Exam : 1Z0-007 Title : Introduction to Oracle9i: SQL Ver : 01-15-2009 QUESTION 1: Examine the data in the EMPLOYEES and DEPARTMENTS tables. EMPLOYEES LAST_NAME DEPARTMENT_ID SALARY Getz 10 3000 Davis 20

More information

Retrieving Data Using the SQL SELECT Statement. Copyright 2009, Oracle. All rights reserved.

Retrieving Data Using the SQL SELECT Statement. Copyright 2009, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement

More information

Táblák tartalmának módosítása. Copyright 2004, Oracle. All rights reserved.

Táblák tartalmának módosítása. Copyright 2004, Oracle. All rights reserved. Táblák tartalmának módosítása Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Describe each data manipulation language (DML)

More information

Oracle 1Z Oracle Database 11g SQL Fundamentals I. Download Full Version :

Oracle 1Z Oracle Database 11g SQL Fundamentals I. Download Full Version : Oracle 1Z1-051 Oracle Database 11g SQL Fundamentals I Download Full Version : https://killexams.com/pass4sure/exam-detail/1z1-051 QUESTION: 238 You need to perform these tasks: - Create and assign a MANAGER

More information

Oracle Database 12c: SQL Fundamentals. Part COPYRIGHTED MATERIAL

Oracle Database 12c: SQL Fundamentals. Part COPYRIGHTED MATERIAL Oracle Database 12c: SQL Fundamentals Part I COPYRIGHTED MATERIAL Chapter 1 Introducing Oracle Database 12c RDBMS Oracle Database 12c: SQL Fundamentals exam objectives covered in this chapter: Introduction

More information

Database Programming with SQL

Database Programming with SQL Database Programming with SQL 2-1 Objectives This lesson covers the following objectives: Apply the concatenation operator to link columns to other columns, arithmetic expressions, or constant values to

More information

RMOUG Training Days 2018

RMOUG Training Days 2018 RMOUG Training Days 2018 Pini Dibask Product Manager for Database Tools February 22 nd, 2018 Oracle Database Locking Mechanism Demystified About the Speaker Pini Dibask, Product Manager for Database Tools,

More information

RETRIEVING DATA USING THE SQL SELECT STATEMENT

RETRIEVING DATA USING THE SQL SELECT STATEMENT RETRIEVING DATA USING THE SQL SELECT STATEMENT Course Objectives List the capabilities of SQL SELECT statements Execute a basic SELECT statement Development Environments for SQL Lesson Agenda Basic SELECT

More information

Restricting and Sorting Data. Copyright 2004, Oracle. All rights reserved.

Restricting and Sorting Data. Copyright 2004, Oracle. All rights reserved. Restricting and Sorting Data Objectives After completing this lesson, you should be able to do the following: Limit the rows that are retrieved by a query Sort the rows that are retrieved by a query Use

More information

Database Programming - Section 3. Instructor Guide

Database Programming - Section 3. Instructor Guide Database Programming - Section 3 Instructor Guide Table of Contents...1 Lesson 1 - Destinations: What's in My Future?...1 What Will I Learn?...3 Why Learn It?...4 Tell Me / Show Me...5 Try It / Solve

More information

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle Database: SQL Fundamentals I. Q&As: 292

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle Database: SQL Fundamentals I. Q&As: 292 Vendor: Oracle Exam Code: 1Z1-051 Exam Name: Oracle Database: SQL Fundamentals I Q&As: 292 QUESTION 1 Evaluate the SQL statement: TRUNCATE TABLE DEPT; Which three are true about the SQL statement? (Choose

More information

Fravo.com. Certification Made Easy. World No1 Cert Guides. Introduction to Oracle9i: SQL Exam 1Z Edition 1.0

Fravo.com. Certification Made Easy. World No1 Cert Guides. Introduction to Oracle9i: SQL Exam 1Z Edition 1.0 Fravo.com Certification Made Easy M C S E, C C N A, C C N P, O C P, C I W, J A V A, S u n S o l a r i s, C h e c k p o i n t World No1 Cert Guides info@fravo.com Introduction to Oracle9i: SQL Exam 1Z0-007

More information

Retrieving Data Using the SQL SELECT Statement. Copyright 2004, Oracle. All rights reserved.

Retrieving Data Using the SQL SELECT Statement. Copyright 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL

More information

DUE: 9. Create a query that will return the average order total for all Global Fast Foods orders from January 1, 2002, to December 21, 2002.

DUE: 9. Create a query that will return the average order total for all Global Fast Foods orders from January 1, 2002, to December 21, 2002. CIS 207 Oracle - Database Programming and SQL HOMEWORK: # 10 DUE: Run the following queries in Oracle Application Express. Paste a copy of each query Into this word document below the questions or notepad.txt

More information

Database Administration and Management

Database Administration and Management Database Administration and Management M.Sc. Information Technology BS Information Technology Umair Shafique (Gold Medalist) Lecturer Installation Oracle Installation and Starting Manual for Installation

More information

Updating Column Values and Deleting Rows. Copyright 2008, Oracle. All rights reserved.

Updating Column Values and Deleting Rows. Copyright 2008, Oracle. All rights reserved. Updating Column Values and Deleting Rows What Will I Learn? In this lesson, you will learn to: Construct and execute an UPDATE statement Construct and execute a DELETE statement Construct and execute a

More information

Using the Set Operators. Copyright 2004, Oracle. All rights reserved.

Using the Set Operators. Copyright 2004, Oracle. All rights reserved. Using the Set Operators Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Describe set operators Use a set operator to combine

More information

APEX installation on Linux - Step by Step

APEX installation on Linux - Step by Step APEX installation on Linux - Step by Step http://dba-story.blogspot.co.id/2013/08/apex-installation-on-linux-step-by-step.html You can download the latest Apex version from: http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

More information

Introduction to Explicit Cursors. Copyright 2008, Oracle. All rights reserved.

Introduction to Explicit Cursors. Copyright 2008, Oracle. All rights reserved. Introduction to Explicit Cursors Introduction to Explicit Cursors 2 What Will I Learn? In this lesson, you will learn to: Distinguish between an implicit and an explicit cursor Describe why and when to

More information

Oracle Internal & Oracle Academy

Oracle Internal & Oracle Academy D49990GC11 Edition 1.1 April 2009 D59428 Oracle Database 11g: PL/SQL Fundamentals Student Guide Authors Tulika Srivastava Lauran K. Serhal Technical Contributors and Reviewers Tom Best Christoph Burandt

More information

Oracle Workflow Server Installation Notes

Oracle Workflow Server Installation Notes Oracle Workflow Server Installation Notes (Release 2.6.1) Purpose These notes explain how to install or upgrade the Oracle Workflow server. Attention: Do not install the Oracle Workflow server in an Oracle

More information

Oracle 1Z0-007 Introduction to Oracle9i: SQL 210 Q&A

Oracle 1Z0-007 Introduction to Oracle9i: SQL 210 Q&A Oracle 1Z0-007 Introduction to Oracle9i: SQL 210 Q&A Looking for Real Exam Questions for IT Certification Exams! We guarantee you can pass any IT certification exam at your first attempt with just 10-12

More information

Tables From Existing Tables

Tables From Existing Tables Creating Tables From Existing Tables After completing this module, you will be able to: Create a clone of an existing table. Create a new table from many tables using a SQL SELECT. Define your own table

More information

Don t Stay Restless; Enable Your Database for REST. Pieter Van Puymbroeck

Don t Stay Restless; Enable Your Database for REST. Pieter Van Puymbroeck Don t Stay Restless; Enable Your Database for REST Pieter Van Puymbroeck 1 Don t Stay Restless; Enable Your Database for REST A QuickStart Guide Pieter Van Puymbroeck 2 Small Fonts ahead Some Fonts used

More information

Appendix A. Practices

Appendix A. Practices Appendix A Practices Practice Sessions: Overview The HR schema: Data Definition Language (DDL) Scripts DDL scripts can be used to create the initial HR schema. Table Definitions PROMPT Creating Table 'REGIONS'

More information

Reference: W3School -

Reference: W3School - Language SQL SQL Adv Reference: W3School - http://www.w3schools.com/sql/default.asp http://www.tomjewett.com/dbdesign/dbdesign.php?page=recursive.php Recursive Associations/Relationship A recursive association

More information

Managing Your Database Using Oracle SQL Developer

Managing Your Database Using Oracle SQL Developer Page 1 of 54 Managing Your Database Using Oracle SQL Developer Purpose This tutorial introduces Oracle SQL Developer and shows you how to manage your database objects. Time to Complete Approximately 50

More information

Course Overview. Copyright 2010, Oracle and/or its affiliates. All rights reserved.

Course Overview. Copyright 2010, Oracle and/or its affiliates. All rights reserved. Course Overview Course Objectives After completing this course, you should be able to do the following: Manage application navigation by using hierarchical lists with images, database-driven navigation,

More information

Exam Code: 1z Exam Name: Ineroduction to oracle9l:sql. Vendor: Oracle. Version: DEMO

Exam Code: 1z Exam Name: Ineroduction to oracle9l:sql. Vendor: Oracle. Version: DEMO Exam Code: 1z0-007 Exam Name: Ineroduction to oracle9l:sql Vendor: Oracle Version: DEMO Part: A 1: Examine the structure of the EMPLOYEES table: EMPLOYEE_ID NUMBER Primary Key FIRST_NAME VARCHAR2(25) LAST_NAME

More information

Database Programming - Section 11. Instructor Guide

Database Programming - Section 11. Instructor Guide Database Programming - Section 11 Instructor Guide Table of Contents...1 Lesson 1 - In-Class Interview...1 What Will I Learn?...3 Why Learn It?...4...5 Try It / Solve It...9 Lesson 2 - Creating Views...12

More information

Introduction to Oracle

Introduction to Oracle Introduction to Oracle Architecture Client-server system Server: SERVEDB, Internal addess (from the lab) servedb.ing.man External address (from home with OpenVPN) 10.17.2.91 Client: Web interface: http://

More information

Oracle Enterprise Manager Oracle Database and Application Testing. Data Masking Lab. Session S318966

Oracle Enterprise Manager Oracle Database and Application Testing. Data Masking Lab. Session S318966 Oracle Enterprise Manager Oracle Database and Application Testing Data Masking Lab Session S318966 Oracle Enterprise Manager 11g Data Masking Hands on Lab Introduction to Enterprise Manager 11g Oracle

More information

Retrieving Data Using the SQL SELECT Statement. Copyright 2004, Oracle. All rights reserved.

Retrieving Data Using the SQL SELECT Statement. Copyright 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement Objectives After completing this lesson, you should be able to do the following: List the capabilities of SQL SELECT statements Execute a basic SELECT statement

More information

Restricting and Sorting Data. Copyright 2004, Oracle. All rights reserved.

Restricting and Sorting Data. Copyright 2004, Oracle. All rights reserved. Restricting and Sorting Data Copyright 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Limit the rows that are retrieved by a query Sort

More information

DatabaseRESTAPI

DatabaseRESTAPI ORDS DatabaseRESTAPI https://oracle.com/rest Jeff Smith Senior Principal Product Manager Jeff.d.smith@oracle.com @thatjeffsmith Database Tools, Oracle Corp Not just THAT SQLDev Guy I GET ORDS, too! Blogs

More information

SYSTEM CODE COURSE NAME DESCRIPTION SEM

SYSTEM CODE COURSE NAME DESCRIPTION SEM Course: CS691- Database Management System Lab PROGRAMME: COMPUTER SCIENCE & ENGINEERING DEGREE:B. TECH COURSE: Database Management System Lab SEMESTER: VI CREDITS: 2 COURSECODE: CS691 COURSE TYPE: Practical

More information

ADF Mobile Code Corner

ADF Mobile Code Corner ADF Mobile Code Corner m05. Caching WS queried data local for create, read, update with refresh from DB and offline capabilities Abstract: The current version of ADF Mobile supports three ADF data controls:

More information

ADF Mobile Code Corner

ADF Mobile Code Corner ADF Mobile Code Corner m07. Abstract: A common user interaction with an edit form is to cancel data changes so the original data are reset and displayed. With ADF Mobile and the POJO data control this

More information

SQL and PL/SQL New Features in Oracle Database 12c Czinkóczki László

SQL and PL/SQL New Features in Oracle Database 12c Czinkóczki László Siófok, 2014, HOUG 2014 SQL and PL/SQL New Features in Oracle Database 12c Czinkóczki László SQL New Features CREATE PLUGGABLE DATABASE CREATE TABLE and ALTER TABLE Enhancements Extended Data Types Temporal

More information

Architecture. Architecture. Introduction to Oracle 10g Express Edition. Help

Architecture. Architecture. Introduction to Oracle 10g Express Edition. Help Architecture Introduction to Oracle 10g Express Edition Client-server system Server: SERVEDB, Internal addess (from the lab) 192.168.0.252 External address (from home with OpenVPN) 10.17.2.91 Client: Web

More information

Assignment Grading Rubric

Assignment Grading Rubric Final Project Outcomes addressed in this activity: Overview and Directions: 1. Create a new Empty Database called Final 2. CREATE TABLES The create table statements should work without errors, have the

More information

BraindumpsVCE. Best vce braindumps-exam vce pdf free download

BraindumpsVCE.   Best vce braindumps-exam vce pdf free download BraindumpsVCE http://www.braindumpsvce.com Best vce braindumps-exam vce pdf free download Exam : 1z1-061 Title : Oracle Database 12c: SQL Fundamentals Vendor : Oracle Version : DEMO Get Latest & Valid

More information

Lab Assignment 9 CIS 208A PL/SQL Programming and SQL

Lab Assignment 9 CIS 208A PL/SQL Programming and SQL Lab Assignment 9 CIS 208A PL/SQL Programming and SQL Section 9-1, Exercise #2, 3 2. Function full_name: A. Create a function called full_name. Pass two parameters to the function: an employee s last name

More information

Creating a PDF Report with Multiple Queries

Creating a PDF Report with Multiple Queries Creating a PDF Report with Multiple Queries Purpose This tutorial shows you how to create a PDF report that contains a table and graph utilizing two report queries. Time to Complete Approximately 15 minutes

More information