

PACKAGE BODY public_pkg IS PROCEDURE do_only_this IS BEGIN private_pkg.do_this private_pkg.do_that END END Use it to define a 'whitelist' of program units that can invoke a package's subprograms.ACCESSIBLE_BY extends the concept of 'privacy' for package subprograms.FETCH FIRST is provided primarily to simplify migration from third-party databases to Oracle Database.ġ2c_fetch_first.sql Copyright 2013 Feuerstein and Associates.– Limits the number of rows that a query returns, reducing the complexity of common 'Top-N' queries. BULK COLLECT now supports an optional FETCH FIRST clause.12c_utl_callstack*.sql Copyright 2013 Feuerstein and Associates Now, the UTL_CALLSTACK package supports all that and a much better API to the info in the stack.Prior to 12c, you could obtain several kinds of 'stacks' through individual function calls: – DBMS_UTILITY.FORMAT_CALL_STACK - 'How did I get here?' – DBMS_UTILITY.FORMAT_ERROR_STACK - 'What is the error message/stack?' – DBMS_UTILITY.FORMAT_ERROR_BACKTRACE - 'On what line was my error raised?'.– Say goodbye to nasty context switch!ġ2c_with_function*.sql 12c_udf.sql & 12c_udf2.sql WITH FUNCTION: define a function directly within your SQL statement.Two methods: – WITH clause that defines a function – UDF pragma that gives more options to the compiler.– Bind records and associative arrays – Use TABLE operator with associative arrays – Still can't do much with Booleans Copyright 2013 Feuerstein and Associates Prior to 12c, PL/SQL-only datatypes could not be bound in dynamic SQL statements, restricted what functions could be called in SQL, etc.More PL/SQL-Only Data Types Cross PL/SQL-to-SQL Interface Goodbye, Tiny SQL VARCHAR2! Copyright 2013 Feuerstein and Associates.New Conditional Compilation Directives.Privileges/Access Management for Program Units – Grant Roles to Program Units – And INHERIT PRIVILEGES and INHERIT ANY PRIVILEGES – BEQUEATH CURRENT_USER for Views.More PL/SQL-Only Data Types Cross PL/SQL-to-SQL Interface.– You must test them and modify them to fit your needs. – But remember: they are not production ready. You have my permission to use all these materials to do internal trainings and build your own applications. Download and use any of my scripts (examples, performance scripts, reusable code) from the same location: the demo.zip file. Download and use any of my training materials:.Watch, listen, ask questions, focus on concepts and principles.


How to benefit most from this presentation Steven Feuerstein PL/SQL Evangelist, Dell Oracle Database 12c Release 1 PL/SQL New Features
