PL/SQL in Oracle 12c. Arup Nanda Longtime Oracle DBA
|
|
|
- Matilda Gardner
- 9 years ago
- Views:
Transcription
1 Arup Nanda Longtime Oracle DBA
2 Agenda PL/SQL has evolved over the years Adoption is still bit challenged Binding with Java SQL to PL/SQL context switching is slow Notable PL/SQL features you should know Will not cover 11g new features Lots of demos Downloadable scripts 2
3 Setup begin for i in loop insert into accounts values ( i, dbms_random.string('u',30), Table ACCOUNTS Name Null? Type ACCNO NUMBER ACCNAME VARCHAR2(30) SSN VARCHAR2(9) BIRTHDAY DATE PRINCIPAL NUMBER INTEREST NUMBER CREATED_DT DATE ltrim(to_char(dbms_random.value( , ),' ')), sysdate - 30*365 - dbms_random.value(1,60*365), dbms_random.value(1,100000), dbms_random.value(1,10000), sysdate - dbms_random.value(1,365*5) ); end loop; 3
4 Result Caching PL/SQL Function Stores the results in result_cache (a memory area) Returns the results when the function is called (not re-executed) When the underlying data hasn t changed Get_counts_by_birthyear_v1.sql Get_counts_by_birthyear_v2.sql 4
5 Invoker Rights DEFINER INVOKER MARY MARY SCOTT UPDATE EMP SET SAL = WHERE EMPNO = SCOTT UPDATE EMP SET SAL = WHERE EMPNO = SCOTT MARY SCOTT MARY EMP EMP EMP EMP 5
6 Invoker Rights CREATE PROCEDURE UPDATE_EMP ( P_EMPNO IN NUMBER, P_SAL IN NUMBER) AUTHID DEFINER IS BEGIN UPDATE EMP SET SAL = P_SAL WHERE EMPNO = P_EMPNO; END; CREATE PROCEDURE UPDATE_EMP ( P_EMPNO IN NUMBER, P_SAL IN NUMBER) AUTHID CURRENT_USER IS BEGIN UPDATE EMP SET SAL = P_SAL WHERE EMPNO = P_EMPNO; END; 6
7 Result Cache + Invoker create or replace function get_counts_by_birthyear ( p_year_of_birth in varchar2 ) return pls_integer result_cache authid current_user Schema as qualification l_cnt pls_integer; required begin / select count(1) into l_cnt from arup.accounts where to_char(birthday,'yy') = p_year_of_birth; return l_cnt; Get_counts_by_birthyear_v3.sql 7
8 Repeated Calculations select accno, 0.01 * principal * interest * (sysdate - created_dt) * * (sysdate - birthday) * 10 as interest from accounts 8
9 Inline Functions create or replace function get_bonus_amount ( p_accno in accounts.accno%type ) return number is l_bonus begin select number; 0.01 * principal * interest * (sysdate - created_dt) * * (sysdate - birthday) * 10 into l_bonus from accounts where accno = p_accno; return l_bonus; / Repeated. Better be out of the code in a function Get_bonus_amount_v1.sql Int1.sql 9
10 Inline Function with function get_bonus_amount (p_accno in accounts.accno%type) return number is l_bonus number; begin select 0.01 * principal * interest * (sysdate - created_dt) * * (sysdate - birthday) * 10 into l_bonus from accounts where accno = p_accno; return l_bonus; select accno, get_bonus_amount (accno) from accounts where accno in (3,5,9); Not a stored function Get_bonus_amount_v2.sql 10
11 Update SQL: update table set col1 = (with function ) Will fail with ORA-32034: unsupported use of WITH clause Solution: update /*+ WITH_PLSQL */ table set col1 = (with function ) 11
12 Inline Functions No Schema changes required Good for tightly controlled shops No SQL-PL/SQL context switching Function inlining PL/SQL Optimization Watch out No DETERMINISTIC function optimization 12
13 Pragma UDF Pragmas pragma autonomous_transaction; pragma exception_init (deadlock_detected,-60); Pragma UDF (user defined function) create or replace function get_bonus_amount ( p_accno in accounts.accno%type ) return number is pragma UDF; l_bonus number;... get_bonus_amount_pragma_udf_v1.sql 13
14 Program Security Procedure (with invoker rights) updates User Table roles_to_proc_trad.sql The user needs update privileges on the table Can update anything; not just what the procedure is capable of 14
15 Will a role help? Procedure (with invoker rights) User Granted to updates Role Table 15
16 12c Way Procedure (with invoker rights) User updates Role Table roles_to_proc_12c.sql 16
17 Program Security Traditional Approach Grant execute on procedure to SCOTT Grant update on table to SCOTT New Approach Grant execute on procedure to SCOTT Grant update on table to role Grant role to procedure grant <role> to procedure <proc> 17
18 Code Whitelisting You have a utility package pkg_accounts_utils contains sensitive procedures You have an internal package that calls these utils pkg_accounts_internal External package called by others pkg_accounts_external pkg_accounts_internal calls pkg_accounts_external pkg_accounts_utils Not allowed 18
19 Accessible By The package specification should have create or replace package pkg_accounts_utils accessible by (pkg_accounts_internal) is procedure update_int (p_accno in accounts.accno%type, p_int_amt in accounts.interest%type); Others will get PLS-00904: insufficient privilege to access object PKG_ACCOUNTS_UTILS pkg_accounts_utils_pks_v1.sql pkg_accounts_utils_pkb_v1.sql pkg_accounts_internal_pks_v1.sql pkg_accounts_internal_pkb_v1.sql pkg_accounts_external_pks_v1.sql pkg_accounts_external_pkb_v1.sql 19
20 Collections in PL/SQL Using collections function get_avg_int_accnolist ( p_int_table in <Collection> ) return number is Parameter p_int_table had to be a database schema object Varray Nested Table PL/SQL Constructs Records PL/SQL Table Indexed by pls_integer 20
21 Package Collections Create a package spec (body not required) create or replace package pkg_acc is type ty_rec_int is record ( accno number, interest number ); type ty_tab_int is table of ty_rec_int index by pls_integer; rec_int ty_tab_int; / Pkg_acc_v1.sql 21
22 Use Collections in Binds Function to compute average interest for a group of accounts create or replace function get_avg_int_accnolist (p_int_table in pkg_acc.ty_tab_int) return number is l_tot_int number := 0; l_avg_int number := 0; cnt pls_integer := 0; begin cnt := p_int_table.count; for i in 1..cnt loop l_tot_int := p_int_table(i).interest + l_tot_int; end loop; l_avg_int := l_tot_int / cnt; return l_avg_int; get_avg_int_accnolist_v1.sql End; 22
23 More Binds Trying to find the average interest for 65 years and older customers Populate select accno, interest bulk collect into pkg_acc.rec_int from accounts where sysdate - birthday > 65*365; Example 1 select get_avg_int_accnolist(pkg_acc.rec_int) into l_avg_int from dual; Example 2 execute immediate 'select get_avg_int_accnolist (:var1) from dual' into l_avg_int using pkg_acc.rec_int; Example 3 select avg(interest), count(1) into l_avg_int, l_tot_accs from table(pkg_acc.rec_int); show_avg_int_for_65yrs_v1.sql show_avg_int_for_65yrs_v2.sql 23
24 Boolean Binding create or replace procedure show_boolean ( p_truth in boolean ) is l_val varchar2(5); begin / l_val := case p_truth when TRUE then 'TRUE' when FALSE then 'FALSE' else 'NULL' dbms_output.put_line ('The input was ' l_val); Show_boolean_v1.sql
25 Boolean Binding create or replace procedure show_truth is c_null constant boolean := null; begin execute immediate 'begin show_boolean(:param); ' using true; execute immediate 'begin show_boolean(:param); ' using false; execute immediate 'begin show_boolean(:param); ' using c_null; / show_truth_v1.sql 25
26 Predefined Directives In previous versions only a few directive were made available to you to display: $$PLSQL_UNIT $$PLSQL_LINE Now you can select two additional directives $$PLSQL_UNIT_TYPE $$PLSQL_UNIT_OWNER demo_proc1_v1.sql demo_proc2_v1.sql 26
27 Nested Codes create or replace procedure depth_proc1 as procedure depth_proc2 as procedure depth_proc3 as procedure depth_proc4 as procedure depth_proc5 as begin some_code_comes_here; begin depth_proc5; begin depth_proc4; begin depth_proc3; begin depth_proc2; 27
28 Call Stack Before 12c create or replace procedure display_call_stack is begin dbms_output.put_line(dbms_utility.format _call_stack); / depth_proc_demo_v1.sql display_call_stack_v1.sql 28
29 12c Way create or replace procedure display_call_stack is l_dynamic_depth pls_integer := utl_call_stack.dynamic_depth; begin -- dbms_output.put_line(dbms_utility.format_call_stack); for i in reverse 1..l_dynamic_depth loop dbms_output.put_line ( lpad(to_char(i,'99'),3) ' ' utl_call_stack.owner(i) '.' utl_call_stack.concatenate_subprogram (utl_call_stack.subprogram (i)) ' (' utl_call_stack.unit_line(i) ') ' ); display_call_stack_v2.sql end loop; 29
30 Thank You! My Blog: arup.blogspot.com My Tweeter: arupnanda 30
VARRAY AND NESTED TABLE
Oracle For Beginners Page : 1 Chapter 23 VARRAY AND NESTED TABLE What is a collection? What is a VARRAY? Using VARRAY Nested Table Using DML commands with Nested Table Collection methods What is a collection?
Oracle PL/SQL Injection
Oracle PL/SQL Injection David Litchfield What is PL/SQL? Procedural Language / Structured Query Language Oracle s extension to standard SQL Programmable like T-SQL in the Microsoft world. Used to create
NEW AND IMPROVED: HACKING ORACLE FROM WEB. Sumit sid Siddharth 7Safe Limited UK
NEW AND IMPROVED: HACKING ORACLE FROM WEB Sumit sid Siddharth 7Safe Limited UK About 7Safe Part of PA Consulting Group Security Services Penetration testing PCI-DSS Forensics Training E-discovery About
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
Oracle For Beginners Page : 1
Oracle For Beginners Page : 1 Chapter 22 OBJECT TYPES Introduction to object types Creating object type and object Using object type Creating methods Accessing objects using SQL Object Type Dependencies
Making the Most of Oracle PL/SQL Error Management Features
Making the Most of Oracle PL/SQL Error Management Features Copyright 2000-2008 Steven Feuerstein - Page 1 Steven Feuerstein PL/SQL Evangelist Quest Software [email protected] So...why listen
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
Hacking and Protecting Oracle DB. Slavik Markovich CTO, Sentrigo
Hacking and Protecting Oracle DB Slavik Markovich CTO, Sentrigo What s This Presentation About? Explore SQL injection in depth Protect your code Finding vulnerable code Real world example What We'll Not
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
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
OPP 2007. ODTUG Kaleidoscope. An ODTUG SP* Oracle PL/SQL Programming Conference. WOW-Wide Open World, Wide Open Web!
OPP 2007 February 28 March 1, 2007 San Mateo Marriott San Mateo, California An ODTUG SP* Oracle PL/SQL Programming Conference *SP Seriously Practical Conference ODTUG Kaleidoscope June 18 21, 2007 Pre-conference
Advanced SQL Injection in Oracle databases. Esteban Martínez Fayó
Advanced SQL Injection in Oracle databases Esteban Martínez Fayó February 2005 Outline Introduction SQL Injection attacks How to exploit Exploit examples SQL Injection in functions defined with AUTHID
Handling Exceptions. Copyright 2008, Oracle. All rights reserved.
Handling Exceptions Handling Exceptions What Will I Learn? In this lesson, you will learn to: Describe several advantages of including exception handling code in PL/SQL Describe the purpose of an EXCEPTION
Page 1 of 7 Welcome brendan ( Account Help Sign Out ) United States Communities I am a... I want to... Secure Search Products and Services Solutions Downloads Store Support Training Partners About Oracle
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
Error Management in Oracle PL/SQL
Fast Track PL/SQL Error Management in Oracle PL/SQL Steven Feuerstein PL/SQL Evangelist, Quest Software [email protected] PL/SQL Obsession - www.toadworld.com/sf Copyright 2000-2008 Steven Feuerstein
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
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/
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
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
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
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
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
Writing Control Structures
Writing Control Structures Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 5-1 Objectives After completing this lesson, you should be able to do the following: Identify
The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Who is Abel Macias? 1994 - Joined Oracle Support 2000
Oracle 12c New Features For Developers
Oracle 12c New Features For Developers Presented by: John Jay King Download this paper from: 1 Session Objectives Learn new Oracle 12c features that are geared to developers Know how existing database
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
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
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
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
SQL Tuning Without Trying
SQL Tuning Without Trying Arup Nanda Longtime Oracle DBA Scenario Situation: Query from hell pops up, brings the DB to its knees DBA is blamed for the failure Aftermath DBA: Developer should have taken
Oracle Database 11g: Advanced PL/SQL
Oracle Database 11g: Advanced PL/SQL Volume I Student Guide D52601GC10 Edition 1.0 March 2008 D54299 Authors Nancy Greenberg Rick Green Marcie Young Technical Contributors and Reviewers Claire Bennett
Oracle PL/SQL Language. CIS 331: Introduction to Database Systems
Oracle PL/SQL Language CIS 331: Introduction to Database Systems Topics: Structure of a PL/SQL program Exceptions 3-valued logic Loops (unconditional, while, for) Cursors Procedures Functions Triggers
PROCEDURES, FUNCTIONS AND PACKAGES
Oracle For Beginners Page : 1 Chapter 19 PROCEDURES, FUNCTIONS AND PACKAGES What is a stored procedure? Advantages of stored procedures Creating a stored procedure Creating a stored function Recompiling
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
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
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
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
Best Practices for Dynamic SQL
The PL/SQL Channel Writing Dynamic SQL in Oracle PL/SQL Best Practices for Dynamic SQL Steven Feuerstein [email protected] www.stevenfeuerstein.com www.plsqlchallenge.com Quick Reminders Download
Virtual Private Database Features in Oracle 10g.
Virtual Private Database Features in Oracle 10g. SAGE Computing Services Customised Oracle Training Workshops and Consulting. Christopher Muir Senior Systems Consultant Agenda Modern security requirements
Oracle Internal & Oracle Academy
Declaring PL/SQL Variables Objectives After completing this lesson, you should be able to do the following: Identify valid and invalid identifiers List the uses of variables Declare and initialize variables
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
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
Oracle Database 12c: SQL Tuning for Developers. Sobre o curso. Destinatários. Oracle - Linguagens. Nível: Avançado Duração: 18h
Oracle Database 12c: SQL Tuning for Developers Oracle - Linguagens Nível: Avançado Duração: 18h Sobre o curso In the Oracle Database: SQL Tuning for Developers course, you learn about Oracle SQL tuning
1 Stored Procedures in PL/SQL 2 PL/SQL. 2.1 Variables. 2.2 PL/SQL Program Blocks
1 Stored Procedures in PL/SQL Many modern databases support a more procedural approach to databases they allow you to write procedural code to work with data. Usually, it takes the form of SQL interweaved
PL/SQL Programming Workbook
ORACLG Oracle Press Oracle Database 11 g PL/SQL Programming Workbook TIB/UB Hannover 89 ACKNOWLEDGMENTS INTRODUCTION xvii xix PARTI PL/SQL Fundamentals 1 Oracle Development Overview 3 History and Background
Procedural Extension to SQL using Triggers. SS Chung
Procedural Extension to SQL using Triggers SS Chung 1 Content 1 Limitations of Relational Data Model for performing Information Processing 2 Database Triggers in SQL 3 Using Database Triggers for Information
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
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
Oracle For Beginners Page : 1
Oracle For Beginners Page : 1 Chapter 17 EXCEPTION HANDLING What is an? How to handle s? Predefined s When NO_DATA_FOUND is not raised? User-defined Reraising an Associating an With An Oracle Error Exception
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
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 $$
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
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
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
6b Continuing Past Exceptions
The PL/SQL Channel Error Management in Oracle PL/SQL 6b Continuing Past Exceptions with FORALL and SAVE EXCEPTIONS Steven Feuerstein [email protected] www.stevenfeuerstein.com www.plsqlchallenge.com
2. DECODE Function, CASE Expression
DECODE Function, CASE Expression 2.1 2. DECODE Function, CASE Expression Introduction to DECODE DECODE Examples Contrast with 9i Case Statement CASE Examples CASE Histograms SKILLBUILDERS DECODE Function,
d)execute and test the PL/SQL block for the countries with the IDs CA, DE, UK, US.
5Practice 5 1. Write a PL/SQL block to print information about a given country. a) Declare a PL/SQL record based on the structure of the COUNTRIES table. b)use the DEFINE command to provide the country
What is the value of SQL%ISOPEN immediately after the SELECT statement is executed? Error. That attribute does not apply for implicit cursors.
1. A PL/SQL block includes the following statement: SELECT last_name INTO v_last_name FROM employees WHERE employee_id=100; What is the value of SQL%ISOPEN immediately after the SELECT statement is executed?
PL / SQL Basics. Chapter 3
PL / SQL Basics Chapter 3 PL / SQL Basics PL / SQL block Lexical units Variable declarations PL / SQL types Expressions and operators PL / SQL control structures PL / SQL style guide 2 PL / SQL Block Basic
SQL Injection in web applications
SQL Injection in web applications February 2013 Slavik Markovich VP, CTO, Database Security McAfee About Me Co-Founder & CTO of Sentrigo (now McAfee Database Security) Specialties: Databases, security,
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
Oracle Insurance Policy Administration
Oracle Insurance Policy Administration Databases Installation Instructions Step 1 Version 10.1.2.0 Document Part Number: E59346-01 December, 2014 Copyright 2009, 2014, Oracle and/or its affiliates. All
Using TimesTen between your Application and Oracle. between your Application and Oracle. DOAG Conference 2011
DOAG Conference 2011 Using TimesTen between your Application and Oracle Jan Ott, Roland Stirnimann Senior Consultants Trivadis AG BASEL 1 BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG
1 Triggers. 2 PL/SQL Triggers
1 Triggers Triggers are simply stored procedures that are ran automatically by the database whenever some event (usually a table update) happens. We won t spend a great deal of time talking about how to
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
When an exception occur a message which explains its cause is received. PL/SQL Exception message consists of three parts.
ERROR HANDLING IN PLSQL When an SQL statement fails, the Oracle engine recognizes this as an Exception Condition. What is Exception Handling? PLSQL provides a feature to handle the Exceptions which occur
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
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
Using SQL Developer. Copyright 2008, Oracle. All rights reserved.
Using SQL Developer Objectives After completing this appendix, you should be able to do the following: List the key features of Oracle SQL Developer Install Oracle SQL Developer Identify menu items of
ODTUG - SQL Injection Crash Course for Oracle Developers
ODTUG - SQL Injection Crash Course for Oracle Developers Alexander Kornbrust 11-Oct-2009 Agenda Introduction How (external) hackers work Tools SQL Injection Basics SQL Injection in mod_plsql SQL Injection
In This Lecture. Security and Integrity. Database Security. DBMS Security Support. Privileges in SQL. Permissions and Privilege.
In This Lecture Database Systems Lecture 14 Natasha Alechina Database Security Aspects of security Access to databases Privileges and views Database Integrity View updating, Integrity constraints For more
Exadata for Oracle DBAs. Longtime Oracle DBA
Exadata for Oracle DBAs Longtime Oracle DBA Why this Session? I m an Oracle DBA Familiar with RAC, 11gR2 and ASM About to become a Database Machine Administrator (DMA) How much do I have to learn? How
Overview of PL/SQL. About PL/SQL
Overview of PL/SQL About PL/SQL PL/SQL is an extension to SQL with design features of programming languages. Data manipulation and query statements of SQL are included within procedural units of code.
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
9 Using Triggers. Using Triggers 9-1
9 Using Triggers Triggers are procedures that are stored in the database and implicitly run, or fired, when something happens. Traditionally, triggers supported the execution of a PL/SQL block when an
Exploiting PL/SQL Injection on Oracle 12c. with only. CREATE SESSION privileges
Exploiting PL/SQL Injection on Oracle 12c with only CREATE SESSION privileges David Litchfield [[email protected]] 21 st May 2014 Copyright Datacom TSS http://www.datacomtss.com.au Introduction
3.GETTING STARTED WITH ORACLE8i
Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer
ORACLE 10g Job Scheduler
Dec 13 th, 2005 ORACLE 10g Job Scheduler Inderpal S. Johal Principal Consultant AGENDA Why we need Scheduler Oracle Scheduler Solutions Benefit of Oracle 10g Scheduler Scheduler Components Scheduler Architecture
Real Life Database Security Mistakes. Stephen Kost Integrigy Corporation Session #715
Real Life Database Security Mistakes Stephen Kost Integrigy Corporation Session #715 Background Speaker Stephen Kost CTO and Founder 16 years working with Oracle 12 years focused on Oracle security DBA,
2. Which of the following declarations is invalid? Mark for Review (1) Points
Mid Term Exam Semester 1 - Part 1 1. 1. Null 2. False 3. True 4. 0 Which of the above can be assigned to a Boolean variable? 2 and 3 2, 3 and 4 1, 2 and 3 (*) 1, 2, 3 and 4 2. Which of the following declarations
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
PL/SQL Developer 7.1 User s Guide. March 2007
PL/SQL Developer 7.1 User s Guide March 2007 PL/SQL Developer 7.1 User s Guide 3 Contents CONTENTS... 3 1. INTRODUCTION... 9 2. INSTALLATION... 13 2.1 SYSTEM REQUIREMENTS... 13 2.2 WORKSTATION INSTALLATION...
Chapter 8: Introduction to PL/SQL 1
Chapter 8: Introduction to PL/SQL 1 What is PL/SQL? PL/SQL stands for Procedural Language extension of SQL. PL/SQL is a combination of SQL along with the procedural features of programming languages. It
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
Introduction to SQL Tuning. 1. Introduction to SQL Tuning. 2001 SkillBuilders, Inc. SKILLBUILDERS
Page 1 1. Introduction to SQL Tuning SKILLBUILDERS Page 2 1.2 Objectives Understand what can be tuned Understand what we need to know in order to tune SQL Page 3 1.3 What Can Be Tuned? Data Access SQL
Objectives. Oracle SQL and SQL*PLus. Database Objects. What is a Sequence?
Oracle SQL and SQL*PLus Lesson 12: Other Database Objects Objectives After completing this lesson, you should be able to do the following: Describe some database objects and their uses Create, maintain,
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1 A feature of Oracle Rdb By Ian Smith Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal SQL:1999 and Oracle Rdb V7.1 The
Answers to the Try It Yourself Sections
APPENDIX D Answers to the Try It Yourself Sections Chapter 1, PL/SQL Concepts 1) To calculate the area of a circle, you must square the circle s radius and then multiply it by π. Write a program that calculates
PL/SQL Programming Concepts: Review. Copyright 2004, Oracle. All rights reserved.
PL/SQL Programming Concepts: Review Copyright 2004, Oracle. All rights reserved. PL/SQL-2 SQL PL/SQL PL/SQL Run-Time Architecture PL/SQL block procedural Procedural statement executor PL/SQL Engine Oracle
Oracle Data Miner (Extension of SQL Developer 4.0)
An Oracle White Paper October 2013 Oracle Data Miner (Extension of SQL Developer 4.0) Generate a PL/SQL script for workflow deployment Denny Wong Oracle Data Mining Technologies 10 Van de Graff Drive Burlington,
SQL Activity Runaway sessions Session information. SQL Activity Concurrent Request runaways. Database sessions Concurrent Requests
Oracle Application Database Management, Part 1: Take Database Monitoring in Oracle Applications Manager to the Next Level Editor s Note: In this first of a series of ORAtips articles on Oracle Application
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
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
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
Proactive Performance Monitoring Using Metric Extensions and SPA
Proactive Performance Monitoring Using Metric Extensions and SPA Mughees A. Minhas Oracle Redwood Shores, CA, USA Keywords: Oracle, database, performance, proactive, fix, monitor, Enterprise manager, EM,
Subqueries Chapter 6
Subqueries Chapter 6 Objectives After completing this lesson, you should be able to do the follovving: Describe the types of problems that subqueries can solve Define subqueries List the types of subqueries
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.
Active database systems Database Management Systems Traditional DBMS operation is passive Queries and updates are explicitly requested by users The knowledge of processes operating on data is typically
Data Masking. Procedure
Procedure Author: G S Chapman Date: October 2008 Version: 1.1 Location of Document: DOCUMENT HISTORY Version Date Changed By: Remarks 1.1 20/10/2008 G S Chapman This version DOCUMENT DISTRIBUTION Copy
1 Changes in this release
Oracle SQL Developer Oracle TimesTen In-Memory Database Support Release Notes Release 4.0 E39883-01 June 2013 This document provides late-breaking information as well as information that is not yet part
