Three Simple Steps to Improving PL/SQL Code Quality
|
|
- Asher Strickland
- 6 years ago
- Views:
Transcription
1 Three Simple Steps to Improving PL/SQL Code Quality Steven Feuerstein Oracle Developer Advocate for PL/SQL Oracle Corporation Blog: stevenfeuersteinonplsql.blogspot.com YouTube: Practically Perfect PL/SQL 1
2 Resources for Oracle Database Developers Official home of SQL and PL/SQL - oracle.com/sql oracle.com/plsql SQL-PL/SQL discussion forum on OTN PL/SQL and EBR blog by Bryn Llewellyn - Oracle Learning Library - oracle.com/oll Quizzes, workouts and classes - devgym.oracle.com Ask Tom - asktom.oracle.com 'nuff said (+ new! Office Hours!) LiveSQL - livesql.oracle.com script repository and 12/7 12c database oracle-base.com - great content from Tim Hall oracle-developer.net - great content from Adrian Billington Page 2
3 Agenda Short and Sweet Why should we care? Compile-time warnings Write tiny little chunks of code Instrument your code Page 3
4 Why should we care? Pride of ownership/craft Code in the database plays a fundamental role in application Database code lives on much longer than UX/UI code Page 4
5 Compiler Features Automatic, transparent optimization of code Compile-time warnings framework to help you improve the quality and performance of your code. Conditional compilation You decide what code should be compiled/ignored! Page 5
6 Warnings help you build better code Your code compiles without errors. Great, you can run that program! But does it use the PL/SQL language optimally? PL/SQL offers a compile-time warnings feature to answer this question. Automatically informs you of ways to improve the quality or performance of your code. Available warnings are documented in the Oracle Database Error Messages document: PLS prefix = PL/SQL compiler error PLW prefix = compile-time warning Page 6
7 Enable and Disable Warnings To use compiler warnings, you must turn them on for session or for a particular program unit. By default, warnings are disabled. Can specify individual warnings or categories. SQL Developer Preferences/PL/SQL Compiler offers UI access. ALTER SESSION [ENABLE DISABLE ERROR]: [ALL SEVERE INFORMATIONAL PERFORMANCE warning_number] REM To enable all warnings in your session: ALTER SESSION SET plsql_warnings = 'enable:all'; REM If you want to enable warning message number and all warnings in REM the performance category, and treat 5005 as a "hard" compile error: ALTER PROCEDURE my_procedure SET plsql_warnings = 'enable:06002', 'enable:performance', 'ERROR:05005'; Page 7
8 Checking for Warnings The USER_ERRORS data dictionary view shows both "hard" errors and compilation warnings. Use the SHOW ERRORS command in SQL*Plus. IDEs will usually display warnings within the edit window. Or run your own query against USER_ERRORS. Page 8
9 Example: check for unreachable code There may be lines of code that could never, ever execute. SQL> CREATE OR REPLACE PROCEDURE unreachable_code IS 2 x NUMBER := 10; 3 BEGIN 4 IF x = 10 THEN 5 x := 20; 6 ELSE 7 x := 100; -- unreachable code 8 END IF; 9 END unreachable_code; 10 / SP2-0804: Procedure created with compilation warnings SQL> show err Errors for PROCEDURE UNREACHABLE_CODE: LINE/COL ERROR /7 PLW-06002: Unreachable code plw6002.sql Page 9
10 Useful warnings added in 11.1 PLW-6017: something's going to raise an error! Such as VARCHAR2(1) := 'abc'...finally! PLW-6009: OTHERS exception handler does not re-raise an exception. More feedback on impact of optimization PLW-6007: Notification that entire subprograms were removed PLW-7205: warning on mixed use of integer types Namely, SIMPLE_INTEGER mixed with PLS_INTEGER and BINARY_INTEGER PLW-7206: unnecessary assignments Lots of PRAGMA INLINE-related warnings plw*.sql files Page 10
11 The Oracle Knows: an error will occur CREATE OR REPLACE PROCEDURE plw6017 IS c VARCHAR2 (1) := 'abc'; BEGIN One big frustration I have had with compile-time warnings is that it did not flag code like you see above. What could be more basic? This (and more) is finally addressed in Oracle11g with the PLW warning. PLW-06017: an operation will raise an exception plw6017.sql Page 11
12 Treating a warning as "hard" compile error You might identify a warning that reflects such bad coding practices, that you want to ensure it never makes its way into production code. Just set the warning as an error and stop the use of that program "in its tracks." "Function does not return value" is a prime example. You never want this error to appear to users. Too embarrassing. ALTER SESSION SET PLSQL_WARNINGS='ERROR:5005' plw5005.sql Page 12
13 Conclusions - Compile-time Warnings Review the available warnings. Identify those which are of greatest importance to you. And with each new release of Oracle check for additions. Consider setting up scripts to enable different sets of warnings to match different development scenarios and to ignore those "nuisance" warnings. Or go radical: enable ALL warnings as ERRORS, and go for a 100% clean compile every single time! ALTER SESSION SET PLSQL_WARNINGS='ERROR:ALL' Page 13
14 Hope for the Best, Plan for the Worst Programmers are very optimistic too optimistic. We think we will be able to understand tomorrow the code we write today. We think users will use our apps the way they are intended. But we know that there will be problems, there will be mysteries. So it's important to be proactive. Make it easier to report, diagnose and fix problems. Consistent, encapsulated error management User-defined instrumentation (execution tracing) And make sure to provide explanations (comments) for any "out of the ordinary" code. Page 14
15 Consistent, encapsulated error management Ideally, all exception handlers log and re-raise errors in the same way. Store system and application-specific information Pass local variable and "application state" to error logger. Call built-ins to get error stack, execution stack and backtrace Avoid hard-coding of error numbers and messages Use EXCEPTION_INIT to give names to errors. Build your own (see errpkg for very simple example) or use something like logger, an open source logging and debugging framework Page 15 errpkg.pkg
16 User-defined instrumentation (execution tracing) Use Oracle Trace to obtain system tracing. But that's usually not enough. Trace additional, application-specific information from code while running. Make it easy to toggle on/off while application is running. Critical for production (don't comment it out after you are done testing). DBMS_OUTPUT.PUT_LINE is the "default" tracing mechanism and should never appear in your application code. You expose the trace/display mechanism. Too many drawbacks, too little flexibility. Page 16
17 Alternative Tracing Mechanisms Trace packages in demo.zip include: sf_trace: my latest, simple and sufficient tracer watch.pkg: "watch" the action, ability to direct trace information to a variety of targets. logger: open source logging and debugging framework DBMS_APPLICATION_INFO Writes to V$ views, good for long-running operations sf_trace*.* watch.pkg dbms_application_info_demo.sql Page 17
18 Write tiny little chunks of code Spaghetti code is the bane of a programmer's existence. It is impossible to understand and therefore debug or maintain code that has long, twisted executable sections. Fortunately, it is really easy to make spaghetti code a thing of the past. Organize your code so that the executable section of any block has no more than fifty lines of code. Page 18 intab_dbms_sql.sp local_module.sql cc_smartargs.sql logger_init_before_after.sql
19 Tiny executable sections = Readable code Follow this one suggestion no special tools required and you can instantly transform the quality and readability of your code. Some tips for implementing tiny executable sections: Hide complex expressions behind constants and functions. Use top-down design (decompose overwhelming challenges into smaller, more manageable tasks). Use Extract Procedure refactoring in your IDE. Evaluate each subprogram for correct scope: is it useful to others? Page 19
20 It's Easy to Write High Quality Code Wait. Really? I suppose it's actually easier (in the short term) to write really bad code. But there are also steps you can take that are not too awfully difficult, which can have a dramatic positive impact on code quality. 1. Fully leverage the PL/SQL compiler, especially the warnings. 2. Hope for the best, plan for worst: instrument your code. 3. Write tiny chunks of code: modularize, especially with nested subprograms. Page 20
21 21
Take Full Advantage of the PL/SQL Compiler
Take Full Advantage of the PL/SQL Compiler Steven Feuerstein Oracle Developer Advocate for PL/SQL Oracle CorporaDon Email: steven.feuerstein@oracle.com TwiLer: @sfonplsql Blog: stevenfeuersteinonplsql.blogspot.com
More informationJSON and PL/SQL: A Match Made in Database
JSON and PL/SQL: A Match Made in Database Steven Feuerstein Oracle Developer Advocate for PL/SQL Oracle Corporation steven.feuerstein@oracle.com @sfonplsql stevenfeuersteinonplsql.blogspot.com Practically
More informationImpact Analysis with PL/Scope
Impact Analysis with PL/Scope Steven Feuerstein Oracle Developer Advocate for PL/SQL Oracle Corporation Email: steven.feuerstein@oracle.com Twitter: @sfonplsql Blog: stevenfeuersteinonplsql.blogspot.com
More informationGuarantee Application Success Steven Feuerstein PL/SQL Evangelist, Quest Software
Guarantee Application Success Steven Feuerstein PL/SQL Evangelist, Quest Software www.stevenfeuerstein.com www.toadworld.com/sf Copyright 2009 Quest Software Obsessed with PL/SQL... Three courses in programming
More informationWeird PL/SQL Steven Feuerstein PL/SQL Evangelist, Quest Software
Weird PL/SQL Steven Feuerstein PL/SQL Evangelist, Quest Software www.quest.com steven.feuerstein@quest.com Copyright 2007 Feuerstein and Associates How to benefit most from this session Watch, listen,
More informationDatabase Programming with PL/SQL
Database Programming with PL/SQL 15-2 Objectives This lesson covers the following objectives: Explain the similarities and differences between a warning and an error Compare and contrast the warning levels
More informationOracle Database 12c & 18c Oracle PL/SQL New Features +
Oracle Database 12c & 18c Oracle PL/SQL New Features + Steven Feuerstein Oracle Developer Advocate for PL/SQL Oracle Corporation Email: steven.feuerstein@oracle.com Twitter: @sfonplsql Blog: stevenfeuersteinonplsql.blogspot.com
More informationThe perfect 12c PLSQL error handler. www. syntegris.de
The perfect c PLSQL error handler www. syntegris.de www. syntegris.de Twitter: @SvenWOracle Blog: svenweller.wordpress.com the perfect c error handler TOPICS Callstack Errorstack optimization levels Error
More informationThe Quest for the perfect PLSQL error handler. Deep Dive into UTL_CALL_STACK. Sven-Uwe Weller.
The Quest for the perfect PLSQL error handler Deep Dive into UTL_CALL_STACK Sven-Uwe Weller www.syntegris.de Sven-Uwe Weller Syntegris CEO, CTO "Design and Development" Oracle Certified Professional,
More informationITDUMPS QUESTION & ANSWER. Accurate study guides, High passing rate! IT dumps provides update free of charge in one year!
ITDUMPS QUESTION & ANSWER Accurate study guides, High passing rate! IT dumps provides update free of charge in one year! HTTP://WWW.ITDUMPS.COM Exam : 1Z0-144 Title : Oracle Database 11g: Program with
More informationOracle Database 11g: Program with PL/SQL Release 2
Oracle University Contact Us: +41- (0) 56 483 31 31 Oracle Database 11g: Program with PL/SQL Release 2 Duration: 5 Days What you will learn This course introduces students to PL/SQL and helps them understand
More informationThis presentation is for informational purposes only and may not be incorporated into a contract or agreement.
This presentation is for informational purposes only and may not be incorporated into a contract or agreement. The following is intended to outline our general product direction. It is intended for information
More informationOracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led
Oracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led Course Description This training starts with an introduction to PL/SQL and then explores the benefits of this powerful programming
More informationHow to instrument your code easy and effectively
How to instrument your code easy and effectively 31 maart 2017 APEX World Rotterdam Sabine Heimsath its-people GmbH Sabine Heimsath Client Senior Database Application Developer PL/SQL, SQL Developer, APEX
More informationOracle Database 11g: Program with PL/SQL
Oracle University Contact: +31 (0)30 669 9244 Oracle Database 11g: Program with PL/SQL Duration: 5 Dagen What you will learn This course introduces students to PL/SQL and helps them understand the benefits
More informationOracle Database: Program with PL/SQL
Oracle University Contact Us: + 420 2 2143 8459 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
More informationOracle PLSQL Training Syllabus
Oracle PLSQL Training Syllabus Introduction Course Objectives Course Agenda Human Resources (HR) Schema Introduction to SQL Developer Introduction to PL/SQL PL/SQL Overview Benefits of PL/SQL Subprograms
More informationOracle Database: Program with PL/SQL Ed 2
Oracle University Contact Us: +38 61 5888 820 Oracle Database: Program with PL/SQL Ed 2 Duration: 5 Days What you will learn This Oracle Database: Program with PL/SQL training starts with an introduction
More informationOracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days
Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days This Database Program with PL/SQL training shows you how to develop stored procedures, functions, packages and database triggers. You'll
More informationConditionally control code flow (loops, control structures). Create stored procedures and functions.
TEMARIO Oracle Database: Program with PL/SQL Ed 2 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
More informationPerformance and Tuning. 2010, Oracle and/or its affiliates. All rights reserved.
Performance and Tuning Objectives After completing this lesson, you should be able to do the following: Understand and influence the compiler Tune PL/SQL code Enable intraunit inlining 7-2 Lesson Agenda
More informationPROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 5 Database Programming PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) AGENDA 7. Stored Procedures 7.1 Introduction to Stored
More informationReconciling APEX and the Thick Database Paradigm
Reconciling APEX and the Thick Database Paradigm @BrynLite Product Manager for PL/SQL and EBR at Oracle HQ Not known for my brevity. Having trouble squeezing my own views not necessarily my employer's
More informationOracle Database 12c Release 1 PL/SQL New Features
Oracle Database 12c Release 1 PL/SQL New Features Steven Feuerstein PL/SQL Evangelist, Dell steven@stevenfeuerstein.com How to benefit most from this presentation Watch, listen, ask questions, focus on
More information<Insert Picture Here> Using the PL/SQL Hierarchical Performance Profiler
Using the PL/SQL Hierarchical Performance Profiler Bryn Llewellyn Product Manager, Database Server Technologies Division, Oracle HQ The following is intended to outline our general
More informationSql Server Check If Global Temporary Table Exists
Sql Server Check If Global Temporary Table Exists I am trying to create a temp table from the a select statement so that I can get the schema information from the temp I have yet to see a valid justification
More informationIntroduction to Computer Science and Business
Introduction to Computer Science and Business The Database Programming with PL/SQL course introduces students to the procedural language used to extend SQL in a programatic manner. This course outline
More informationORACLE DATABASE 12C INTRODUCTION
SECTOR / IT NON-TECHNICAL & CERTIFIED TRAINING COURSE In this training course, you gain the skills to unleash the power and flexibility of Oracle Database 12c, while gaining a solid foundation of database
More informationCOMP390 (Design &) Implementation
COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features
More informationOracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL]
Chapter Overview of PL/SQL Programs Control Statements Using Loops within PLSQL Oracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL] Table of Contents Describe a PL/SQL program construct List the
More informationOracle - Oracle Database: Program with PL/SQL Ed 2
Oracle - Oracle Database: Program with PL/SQL Ed 2 Code: Lengt h: URL: DB-PLSQL 5 days View Online This Oracle Database: Program with PL/SQL training starts with an introduction to PL/SQL and then explores
More informationYou wrote WHAT? An examination of common coding mistakes made by PL/SQL developers (like yours truly!) and how you can avoid them yourself.
You wrote WHAT? Steven Feuerstein steven.feuerstein@quest.com An examination of common coding mistakes made by PL/SQL developers (like yours truly!) and how you can avoid them yourself. Love those cursor
More informationCOMP390 (Design &) Implementation
COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features
More informationPROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 4 Database Programming PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) AGENDA 6. Stored Functions Procedural Database Programming
More informationCreating Ultra-fast Realtime Apps and Microservices with Java. Markus Kett, CEO Jetstream Technologies
Creating Ultra-fast Realtime Apps and Microservices with Java Markus Kett, CEO Jetstream Technologies #NoDBMSApplications #JetstreamDB About me: Markus Kett Living in Regensburg, Germany Working with Java
More informationEvaluation Guide for ASP.NET Web CMS and Experience Platforms
Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:
More information& ( ); INSERT INTO ( ) SELECT
Oracle apex array Craig is a Development Consultant at Explorer. Craig has an MSc in Computing Science and is an experienced software engineer, utilising development tools such as PL/SQL and APEX to provide
More informationThis presentation is for informational purposes only and may not be incorporated into a contract or agreement.
This presentation is for informational purposes only and may not be incorporated into a contract or agreement. SQL Developer Introducing Oracle's New Graphical Database Development Tool Craig Silveira
More informationNow, we can refer to a sequence without having to use any SELECT command as follows:
Enhancement in 11g Database PL/SQL Sequence: Oracle Database 11g has now provided support for Sequence in PL/SQL. Earlier to get a number from a sequence in PL/SQL we had to use SELECT command with DUAL
More informationIZ0-144Oracle 11g PL/SQL Certification (OCA) training
IZ0-144Oracle 11g PL/SQL Certification (OCA) training Advanced topics covered in this course: Managing Dependencies of PL/SQL Objects Direct and Indirect Dependencies Using the PL/SQL Compiler Conditional
More informationOracle Application Express Schema Design Guidelines Presenter: Flavio Casetta, Yocoya.com
Oracle Application Express Schema Design Guidelines Presenter: Flavio Casetta, Yocoya.com about me Flavio Casetta Founder of Yocoya.com Editor of blog OracleQuirks.blogspot.com 25+ years in the IT 10+
More informationCOMP390 (Design &) Implementation
COMP390 (Design &) Implementation A rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (With thanks to Dave Shield) Design & Implementation What
More informationHow APEXBlogs was built
How APEXBlogs was built By Dimitri Gielis, APEX Evangelists Copyright 2011 Apex Evangelists apex-evangelists.com How APEXBlogs was built By Dimitri Gielis This article describes how and why APEXBlogs was
More informationExam Name: Oracle Database 11g: Program with PL/SQL
Vendor: Oracle Exam Code: 1Z0-144 Exam Name: Oracle Database 11g: Program with PL/SQL Version: DEMO 1.View the Exhibit to examine the PL/SQL code: SREVROUPUT is on for the session. Which statement Is true
More informationOracle Development - Part III: Coding Standards
By Cheetah Solutions Editor s Note: In this final of a three-white-paper series on Oracle Custom Development, Cheetah Solutions tackles the issue of coding standards. In their concluding white paper, Cheetah
More informationRust for high level applications. Lise Henry
Rust for high level applications Lise Henry Who am I Elisabeth Henry A.k.a Lizzie Crowdagger Computer science background Semi-professional fantasy writer I like Rust, but not really into systems programming
More informationOracle12c Release 1 PL/SQL (3 Days)
Oracle12c Release 1 PL/SQL (3 Days) www.peaklearningllc.com Course Description This course provides a complete, hands-on, comprehensive introduction to PL/SQL including the use of both SQL Developer and
More informationThe NoPlsql and Thick Database Paradigms
The NoPlsql and Thick Database Paradigms Part 2: Adopting ThickDB Toon Koppelaars Real-World Performance Oracle Server Technologies Bryn Llewellyn Distinguished Product Manager Oracle Server Technologies
More information<Insert Picture Here> Oracle SQL Developer: PL/SQL Support and Unit Testing
3 Oracle SQL Developer: PL/SQL Support and Unit Testing The following is intended to outline our general product direction. It is intended for information purposes only, and may not
More informationOracle Developer Track Course Contents. Mr. Sandeep M Shinde. Oracle Application Techno-Functional Consultant
Oracle Developer Track Course Contents Sandeep M Shinde Oracle Application Techno-Functional Consultant 16 Years MNC Experience in India and USA Trainer Experience Summary:- Sandeep M Shinde is having
More informationOracle Database: Introduction to SQL/PLSQL Accelerated
Oracle University Contact Us: Landline: +91 80 67863899 Toll Free: 0008004401672 Oracle Database: Introduction to SQL/PLSQL Accelerated Duration: 5 Days What you will learn This Introduction to SQL/PLSQL
More informationSession 4b: Review of Program Quality
Session 4b: Review of Program Quality What makes one program "better" than another? COMP 170 -- Fall, 2013 Mr. Weisert What is a good program? Suppose we give the same assignment to two programmers (or
More informationHolistic Database Security
Holistic Database Security 1 Important Terms Exploit: Take advantage of a flaw or feature Attack Surface: Any node on the network that can be attacked. That can be the UI, People, anything that touches
More informationOracle 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 informationWhen a database trigger routine does not have to take place before the triggering event, which timing should you assign to the trigger?
Page 1 of 80 Item: 1 (Ref:1z0-147e.9.2.4) When a database trigger routine does not have to take place before the triggering event, which timing should you assign to the trigger? nmlkj ON nmlkj OFF nmlkj
More information1Z0-101 develop pl/sql program units
develop pl/sql program units 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 informationDatabase Programming with PL/SQL
Database Programming with PL/SQL 15-4 Objectives This lesson covers the following objectives: Describe the benefits of obfuscated PL/SQL source code Use the DBMS_DDL.CREATE_WRAPPED server-supplied procedure
More informationModule 10A Lecture - 20 What is a function? Why use functions Example: power (base, n)
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 10A Lecture - 20 What is a function?
More informationGDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
More informationAnd Answers In Oracle Pl Sql
Most Frequently Asked Interview Questions And Answers In Oracle Pl Sql To be successful with database-centric applications (which includes most of the in the form of several question-answer sessions commonly
More informationCustomer Coffee Corner for SAP IQ Using sp_iqrebuildindex()
Customer Coffee Corner for SAP IQ Using sp_iqrebuildindex() Customer SAP Product Support February, 2017 Agenda Objectives sp_iqrebuildindex() usage FAQs Useful scripts Closing remarks Open discussion 2016
More informationORACLE: PL/SQL Programming
%ROWTYPE Attribute... 4:23 %ROWTYPE... 2:6 %TYPE... 2:6 %TYPE Attribute... 4:22 A Actual Parameters... 9:7 Actual versus Formal Parameters... 9:7 Aliases... 8:10 Anonymous Blocks... 3:1 Assigning Collection
More informationA Crash Course in Perl5
z e e g e e s o f t w a r e A Crash Course in Perl5 Part 8: Database access in Perl Zeegee Software Inc. http://www.zeegee.com/ Terms and Conditions These slides are Copyright 2008 by Zeegee Software Inc.
More informationTopics Fundamentals of PL/SQL, Integration with PROIV SuperLayer and use within Glovia
Topics Fundamentals of PL/SQL, Integration with PROIV SuperLayer and use within Glovia 1. Creating a Database Alias 2. Introduction to SQL Relational Database Concept Definition of Relational Database
More informationIT 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 information1Z0-144 Q&As Oracle Database 11g: Program with PL/ SQL
CertBus.com 1Z0-144 Q&As Oracle Database 11g: Program with PL/ SQL Pass Oracle 1Z0-144 Exam with 100% Guarantee Free Download Real Questions & Answers PDF and VCE file from: 100% Passing Guarantee 100%
More informationSabine Heimsath PL/SQL Monitoren > Messen > Optimieren mit Open Source APEX Connect 2018 APEX Connect Sabine Heimsath
Sabine Heimsath PL/SQL Monitoren > Messen > Optimieren mit Open Source APEX Connect 2018 Sabine Heimsath Offiziell in der IT unterwegs seit 1999/DB-Version: 8.1.7 Mag relationale Datenbanken, Aardman
More informationXcode Tricks. ios App Development Fall 2010 Lecture 13
Xcode Tricks ios App Development Fall 2010 Lecture 13 Questions? Announcements Reminder: Assignment #3 due Monday, October 18 th by 11:59pm Today s Topics Building & Running Code Troubleshooting Debugging
More informationLesson 14 Transcript: Triggers
Lesson 14 Transcript: Triggers Slide 1: Cover Welcome to Lesson 14 of DB2 on Campus Lecture Series. Today, we are going to talk about Triggers. My name is Raul Chong, and I'm the DB2 on Campus Program
More informationPL / 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
More informationLesson 13 Transcript: User-Defined Functions
Lesson 13 Transcript: User-Defined Functions Slide 1: Cover Welcome to Lesson 13 of DB2 ON CAMPUS LECTURE SERIES. Today, we are going to talk about User-defined Functions. My name is Raul Chong, and I'm
More informationNew Oracle 12c Features for Developers
New Oracle 12c Features for Developers Table of Contents Overview 1 THE BIG 6 The main developer enhancements in 12C 1 row_limiting_clause 1 New sizes for datatypes 3 PL/SQL functions in the WITH clause
More informationORACLE TRAINING. ORACLE Training Course syllabus ORACLE SQL ORACLE PLSQL. Oracle SQL Training Syllabus
ORACLE TRAINING ORACLE Training Course syllabus ORACLE SQL ORACLE PLSQL Oracle SQL Training Syllabus Introduction to Oracle Database List the features of Oracle Database 11g Discuss the basic design, theoretical,
More informationJigsaw and OSGi: What the Heck Happens Now?
Jigsaw and OSGi: What the Heck Happens Now? Neil Bartlett neil.bartlett@paremus.com Jigsaw and OSGi: WTF Happens Now? Neil Bartlett neil.bartlett@paremus.com Agenda WTF is a Module System? How do OSGi
More informationIntroduction. A Brief Description of Our Journey
Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the
More informationWith Tom Kyte and Andy Mendelsohn. plus special guest appearances: Dan McGhan, Natalka Roshak, Chris Saxon
With Tom Kyte and Andy Mendelsohn plus special guest appearances: Dan McGhan, Natalka Roshak, Chris Saxon TWEET AWAY! #yessql Copyright Copyright 2014, 2014, Oracle Oracle and/or and its affiliates. /
More informationCIS 45, The Introduction. What is a database? What is data? What is information?
CIS 45, The Introduction I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won t last out the year. The editor
More informationUNIT II PL / SQL AND TRIGGERS
UNIT II PL / SQL AND 1 TRIGGERS TOPIC TO BE COVERED.. 2.1 Basics of PL / SQL 2.2 Datatypes 2.3 Advantages 2.4 Control Structures : Conditional, Iterative, Sequential 2.5 Exceptions: Predefined Exceptions,User
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 01: Procedural Programming MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Procedural Programming 2 Introduction Procedural Programming: General Overview Procedural Programming:
More information1Z Oracle Database 11g - Program with PL/SQL Exam Summary Syllabus Questions
1Z0-144 Oracle Database 11g - Program with PL/SQL Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-144 Exam on Oracle Database 11g - Program with PL/SQL... 2 Oracle 1Z0-144 Certification
More informationOracle Database 10g: PL/SQL Fundamentals. Oracle Internal & Oracle Academy Use Only. Volume I Student Guide. D17112GC30 Edition 3.0 April 2009 D59413
D17112GC30 Edition 3.0 April 2009 D59413 Oracle Database 10g: PL/SQL Fundamentals Volume I Student Guide Introduction Objectives After completing this lesson, you should be able to do the following: Describe
More informationSocial Bookmarks. Blasting their site with them during the first month of creation Only sending them directly to their site
Hey guys, what's up? We have another, jammed packed and exciting bonus coming at you today. This one is all about the "Everyone knows Everybody" generation; where everyone is socially connected via the
More informationBest Practices for Performance Part 2.NET and Oracle Database
Best Practices for Performance Part 2.NET and Oracle Database Alex Keh Christian Shay Product Managers Server Technologies September 19, 2016 Program Agenda 1 2 3 4 Caching SQL Tuning Advisor Oracle Performance
More informationLecture 5: Methods CS2301
Lecture 5: Methods NADA ALZAHRANI CS2301 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. 2 Solution public static int sum(int i1, int i2) { int
More information5. Single-row function
1. 2. Introduction Oracle 11g Oracle 11g Application Server Oracle database Relational and Object Relational Database Management system Oracle internet platform System Development Life cycle 3. Writing
More informationSQLLIMS_RECORDS_API: Defines constants and record types used by the other API packages. This package is available as well for end-user use.
Applied Biosystems SQL*LIMS Technical Support Technical Note Document Number: LIMS017 Last Revision Date: 3162004 Software Versions: SQL*LIMS v4.0.16 and v4.1 Platform: All Platforms Authors: Deborah Man
More informationOracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
More informationDatabase Programming with PL/SQL
Database Programming with PL/SQL Trapping Oracle Server Exceptions 1 Copyright 2013, Oracle and/or its affiliates. All rights Objectives This lesson covers the following objectives: Describe and provide
More informationDatabase Modelling. Lecture 8 (b): PL/SQL Exceptions Handling 1/6/2015 1
Database Modelling Lecture 8 (b): PL/SQL Exceptions Handling 1/6/2015 1 This lecture will cover: Overview - The need for exception handling in PL/SQL - How exceptions are handled in Oracle PL/SQL - How
More informationAdvanced Oracle Troubleshooting Live Session. Randolf Geist
Advanced Oracle Troubleshooting Live Session Randolf Geist http://oracle-randolf.blogspot.com/ http://www.sqltools-plusplus.org:7676/ info@sqltools-plusplus.org Who am I Independent Consultant Located
More informationSql Server Compare Two Tables To Find Differences
Sql Server Compare Two Tables To Find Differences compare and find differences for SQL Server tables and data When the User set two Employees ID (for example : 1 & 2) the program is supposed to show. Ways
More informationOVERVIEW OF THE TYPES OF PL/SQL BLOCKS:
OVERVIEW OF THE TYPES OF PL/SQL BLOCKS: The P/L SQL blocks can be divided into two broad categories: Anonymous Block: The anonymous block is the simplest unit in PL/SQL. It is called anonymous block because
More informationORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems
ORACLE TRAINING CURRICULUM Relational Database Fundamentals Overview of Relational Database Concepts Relational Databases and Relational Database Management Systems Normalization Oracle Introduction to
More information100% Generation: No More Excuses!
100% Generation: No More Excuses! Steven M. Davelaar Custom Development Center of Excellence, Oracle Corporation Introduction Today, 100% generation with the Forms Generator is only achievable for real
More informationEZY Intellect Pte. Ltd., #1 Changi North Street 1, Singapore
Oracle Database 12c: Performance Management and Tuning NEW Duration: 5 Days What you will learn In the Oracle Database 12c: Performance Management and Tuning course, learn about the performance analysis
More informationISV Migrating to Oracle9i/10g
ISV Migrating to Oracle9i/10g Methodology, Tips & Tricks and Resources Tom Laszewski Technical Director Partner Technical Services Server Technologies Agenda Typical Migration Projects Migration Methodology
More informationClickteam Fusion 2.5 Creating a Debug System - Guide
INTRODUCTION In this guide, we will look at how to create your own 'debug' system in Fusion 2.5. Sometimes when you're developing and testing a game, you want to see some of the real-time values of certain
More informationDesigning Pages with Widgets
Designing Pages with Widgets You can easily get some of the pages in Clearspace to look the way you want to by using widgets to choose and arrange content. Each widget displays content of a particular
More informationReliable programming
Reliable programming How to write programs that work Think about reliability during design and implementation Test systematically When things break, fix them correctly Make sure everything stays fixed
More informationDBMS_JAVA. LONGNAME and SHORTNAME. Appendix A
DBMS_JAVA The DBMS_JAVA package is somewhat of an enigma. It is a PL/SQL package but it is not documented in the Supplied PL/SQL Packages Reference guide. It is designed to support Java in the database,
More information