SlideShare a Scribd company logo
1 of 21
Download to read offline
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Application Express and PL/SQL
Make the most of a world-class combo!
Steven	Feuerstein
Oracle	Developer	Advocate	for	PL/SQL
Oracle	Corporation
Email:	steven.feuerstein@oracle.com
Twitter:	@sfonplsql
Blog:	stevenfeuersteinonplsql.blogspot.com
YouTube:	Practically	Perfect	PL/SQL
1
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Point	and	Click	versus	Coding
• When	code	is	written	inside	that	oh-so-cool	UI	environment,	
we	tend	to	be	a	bit	dismissive	of	it.
–Irritating	interruption	from	the	usual	point-and-click.
–Minimal	editing	capabilities.
• The	custom-written	source	code	in	your	APEX	application	will	
present	the	biggest	challenge	in	terms	of	debugging,	
maintenance,	support.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
What's	an	APEX	developer	to	do?
• Set	clear	rules	on...
–Where	all	that	PL/SQL	code	goes,	and
–Where	and	how	SQL	statements	are	written.
• Follow	Rule	#1:	Don't	repeat	anything	– hide	everything.
• Follow	Rule	#2:	Hope	for	the	best,	plan	for	the	worst.
• And	remember: It	only	gets	more	complicated	over	time.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Set	Some	Rules	on	SQL	and	PL/SQL	Code
1. If	the	PL/SQL	code	does	not	contain	references	to	UI	elements,	move	it	
out	of	Application	Builder	and	into	packages.
2. If	the	PL/SQL	code	contains	UI	elements,	move	as	much	code	as	possible	
to	packages.
– Leave	behind	a	minimal	"footprint"	in	APEX	code.
3. The	only	SQL	you	should	write	inside	APEX	are	queries	to	populate	
tables.
– And	even	then	you	should	generally	query	from	views.
– No	updates,	inserts,	deletes	- unless	generated	and	performed	automatically	by	
APEX.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Don't	repeat	anything	– hide	everything.
• This	is	the	most	important	principle	you	can	follow	in	
programming.
–Repetition	=	hard	coding	=	maintenance	nightmare.
–You	end	up	with	brittle,	hard-to-change	apps.
• Instead,	aim	for	a	Single	Point	of	Definition	(SPOD)	for	every	
aspect	of	your	application.
–That	way,	when	you	have	to	change	it,	you	change	it	in	just	one	place.
• The	hard	part	is	recognizing	all	the	sorts	of	hard-codings	that	
can	occur.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Dealing	with	Hard	Codings	in	APEX
• Literals	can	easily	sneak	their	way	into	your	code,	all	over	the	
place.
• WHERE	clauses,	validations,	conditions,	LOVs
• It	all	comes	down	to	discipline.
–And	constant	review	and	consolidation	of	logic.
–Use	application	items
–Define	as	constants	in	packages	(cannot	reference	directly	in	SQL)
How	about	date	formats:	YYYY-MM-DD	HH24:MI:SS
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Example:	List	of	Values
• Many	LOVs	reference	page	items.
• And	often	the	same	LOV	is	needed	on	different	pages.
• It’s	pretty	easy	to	end	up	with	
something	like	this:
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Get	Rid	of	List	of	Values	Repetition
• That	just	seemed	wrong	to	me.	Surely	there	was	a	way	around	
it.	Let’s	ask	APEX!
LOVs	can	be	based	on	a	
dynamic	query!
Common	solution:	Use	
:app_page_id to	construct	
item	name,	or	use	CASE.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Hide	with	PL/SQL	Packages
• Key	building	block	for	any PL/SQL-based	application.
• By	using	a	package,	you….
– Collect	together	related	functionality
– Offer	well-crafted	APIs	– for	use	in	Application	Builder,	but	also	other	backend	code,	
scheduled	jobs,	etc.
– Break	the	dependency	chain:	change	the	package	body	without	invalidating	any	
program	units	dependent	on	the	package	(specification).
– Benefit	from	optimized	caching	of	packaged	code	in	the	SGA
– More	easily	search	APEX	code	for	usages
– Leverage	PL/Scope	for	stored	code	analysis
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
How	to	Hide	with	PL/SQL	Packages
• Move	as	much	code	as	possible	into	packages,	avoid	schema-level	
functions	and	procedures.
• Create	lots	of	small,	narrowly	focused	packages.
• Build	a	toolbox	of	handy	utilities.	
• Here	are	some	examples	from	the	Dev	Gym	code	base:
– Manage	classes	– dg_class_mgr
– Email	management	and	template	processing	– qdb_communication_mgr and	
qdb_template_mgr
– Gamification	– dg_gaming_mgr
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Hide	Your	SQL	(stop	writing	so	much	of	it)
• We	PL/SQL	developers	take	SQL	completely	for	granted.	
It's	so	easy	to	write!	
§But	what	do	we	know about	SQL	statements?
–Change	constantly,	forcing	us	to	change	code;	cause	most	of	the		
performance	problems;	cause	many	runtime	errors	in	an	application.
• We	should	very	careful	about	how,	when	and	where	we	write	
SQL	statements.
–Avoid	repetition.
–Assume	things	will	get	more	complicated.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
In	the	context	of	APEX....
• Your	APEX-based,	custom-written	source	code	should	never	contain	non-
query	DML	SQL	statements.
– Any	inserts,	updates,	deletes	outside	of	automatic	form	processing	should	be	done	
through	packaged	procedures.
• Put	as	much	validation	and	conditional	logic	inside	functions.
• Constantly	revisit	your	code	and	APIs	to	transfer	logic	out	of	Application	
Builder	and	into	packages.
• Could	it	really	be	worth	the	"bother"?
– It's	always	more	complicated	than	it	initially	appears.
– And	you	will	often	need	the	same	functionality	in	more	than	one	place.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Everything	Gets	More	Complicated
• After	a	few	years	of	quizzes,	we	decided	to	"gamify"	the	Dev	Gym.
– In	addition	to	ranking,	reflect	your	level	of	activity	on	the	site.
– Rack	up	points,	earn	some	trophies!
• So	what	was	formerly	an	insert	is	now	an	insert-insert,	updates	become	
update-insert.
– And	often	much,	much	more….
• If	those	DML	statements	are	“exposed”	inside	the	application,	it	is	much	
harder	to	manage	and	upgrade	that	functionality.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Compile	Time	versus	Run	Time
• One	big	advantage	of	putting	your	SQL	in	PL/SQL	subprograms	or	even	
views	is	that	any	errors	are	detected	at	compile	time.
• If	you	"dump"	the	SQL	into	APEX,	then	you	(or	your	users)	don't	see	the	
error	until	run	time.
• This	is	especially	dangerous	with	upgrades,	and	incomplete	testing.
Step 1: add new columns to table X. Has same name as column in table it joins with.
Step 2: upgrade all packages to support new column. All looks OK, but....
Problem: getting "ambiguous column" errors in application – but only if and when
you actually visit that page.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Manage	Backend	Errors	Carefully
• Either	through	user	error	or	bugs	in	code,	exceptions	will	be	raised	in	your	
PL/SQL	code.
• What	should	your	user	see	when	this	happens?
• You	don't	want	it	to	be	this:
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Standardize	and	Be	Consistent
• Don't	allow	unhandled	exceptions	to	propagate	out	of	your	stored	code	
without	logging	the	error	first.
• Use	standard,	consistent	error	logging	in	your	backend	code
– If	you	don't	have	your	own,	check	out	the	open	source	Logger	at	oraopensource.com.
• Use	APEX_ERROR	and	"Error	Handling	Function"	in	App	Properties	to	
implement	a	"catch-all"	handler.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Remember:	all	items	are	strings!
• Watch	out	for	overloadings	of	string	and	number.
–The	runtime	execution	path	may	surprise	you.
• Watch	out	for	comparisons	of	"date"	items.
–Create	Y/N	items	computed	with	real	dates.
• Ordering	in	reports	may	not	meet	your	expectations.
–With	dates,	at	a	minimum	use	a	format	that	results	in	correct	ordering	as	
strings,	e.g.,	YYYY-MM-DD	HH24:MI:SS.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Manage	Emails	Carefully
• Nobody	every	liked	to	be	spammed	and	now	with	GDPR	there	can	
be	real	consequences.
– Besides	pissing	off	your	users	big	time.
• APEX_MAIL	makes	it	easy	to	send	emails.	You	need	to	make	it	less	easy.
• Rules	to	consider	putting	in	place:
– Never	send	emails	to	users	from	dev/stage/test
– Hide	APEX_MAIL.SEND	behind	your	own	send	procedure
– Don't	always	push	emails	into	the	queue	(performance)
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
PL/SQL	and	APEX:	a	match	made	in	Oracle
• It's	not	surprising	that	it's	easy	to	work	with	PL/SQL	from	within	APEX.
• But	as	with	SQL,	just	because	it's	easy	doesn't	mean	you	should	treat	it	
casually.
• Write	your	PL/SQL	code	with	care.
– Move	as	much	as	possible	to	PL/SQL	packages.
– Decide	on	standards	for	SQL	construction,	error	management,	naming	
conventions.	
– Avoid	repetition;	aim	for	that	Single	Point	of	Definition.
Copyright	©	2014	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Deepen	Your	PL/SQL	and	SQL	Expertise
• Take	advantage	of	our	community	websites.
• Oracle	AskTOM	– https://asktom.oracle.com
–Q&A	site,	Office	Hours	with	database	experts,	and	much	more
• Oracle	Dev	Gym	– https://devgym.oracle.com
–Quizzes,	workouts	and	classes	for	an	active	learning	experience
• Oracle	LiveSQL	– https://livesql.oracle.com
–24x7	access	to	the	latest	release	of	Oracle	Database,	plus	a	script	library	and	
tutorials
21

More Related Content

What's hot

AskTOM Office Hours - Dynamic SQL in PL/SQL
AskTOM Office Hours - Dynamic SQL in PL/SQLAskTOM Office Hours - Dynamic SQL in PL/SQL
AskTOM Office Hours - Dynamic SQL in PL/SQLSteven Feuerstein
 
Unit Testing Oracle PL/SQL Code: utPLSQL, Excel and More
Unit Testing Oracle PL/SQL Code: utPLSQL, Excel and MoreUnit Testing Oracle PL/SQL Code: utPLSQL, Excel and More
Unit Testing Oracle PL/SQL Code: utPLSQL, Excel and MoreSteven Feuerstein
 
Error Management Features of PL/SQL
Error Management Features of PL/SQLError Management Features of PL/SQL
Error Management Features of PL/SQLSteven Feuerstein
 
Six simple steps to unit testing happiness
Six simple steps to unit testing happinessSix simple steps to unit testing happiness
Six simple steps to unit testing happinessSteven Feuerstein
 
Take Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL CompilerTake Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL CompilerSteven Feuerstein
 
RESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseRESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseJeff Smith
 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018Jeff Smith
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Jeff Smith
 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksJeff Smith
 
Oracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG EditionOracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG EditionJeff Smith
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeJeff Smith
 
Oracle Database Management REST API
Oracle Database Management REST APIOracle Database Management REST API
Oracle Database Management REST APIJeff Smith
 
Oracle SQL Developer Reports
Oracle SQL Developer ReportsOracle SQL Developer Reports
Oracle SQL Developer ReportsJeff Smith
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Jeff Smith
 
Oracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionOracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionJeff Smith
 
Oracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query ResultsOracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query ResultsJeff Smith
 
REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)Jeff Smith
 
SQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseSQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseJeff Smith
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksJeff Smith
 

What's hot (20)

AskTOM Office Hours - Dynamic SQL in PL/SQL
AskTOM Office Hours - Dynamic SQL in PL/SQLAskTOM Office Hours - Dynamic SQL in PL/SQL
AskTOM Office Hours - Dynamic SQL in PL/SQL
 
Unit Testing Oracle PL/SQL Code: utPLSQL, Excel and More
Unit Testing Oracle PL/SQL Code: utPLSQL, Excel and MoreUnit Testing Oracle PL/SQL Code: utPLSQL, Excel and More
Unit Testing Oracle PL/SQL Code: utPLSQL, Excel and More
 
Error Management Features of PL/SQL
Error Management Features of PL/SQLError Management Features of PL/SQL
Error Management Features of PL/SQL
 
Six simple steps to unit testing happiness
Six simple steps to unit testing happinessSix simple steps to unit testing happiness
Six simple steps to unit testing happiness
 
High Performance PL/SQL
High Performance PL/SQLHigh Performance PL/SQL
High Performance PL/SQL
 
Take Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL CompilerTake Full Advantage of the Oracle PL/SQL Compiler
Take Full Advantage of the Oracle PL/SQL Compiler
 
RESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseRESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous Database
 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!
 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
 
Oracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG EditionOracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG Edition
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should Be
 
Oracle Database Management REST API
Oracle Database Management REST APIOracle Database Management REST API
Oracle Database Management REST API
 
Oracle SQL Developer Reports
Oracle SQL Developer ReportsOracle SQL Developer Reports
Oracle SQL Developer Reports
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
 
Oracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionOracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data Edition
 
Oracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query ResultsOracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query Results
 
REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)
 
SQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseSQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle Database
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & Tricks
 

Similar to Oracle Application Express and PL/SQL: a world-class combo

PL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperPL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperJeff Smith
 
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL ChangesUsing Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL ChangesChris Saxon
 
Satyapriya rajguru: Every day, in one way or another.
Satyapriya  rajguru:  Every day, in one way or another.Satyapriya  rajguru:  Every day, in one way or another.
Satyapriya rajguru: Every day, in one way or another.Satyapriya Rajguru
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaJAXLondon_Conference
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
 
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperDebugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperJeff Smith
 
SMART4apex company presentation APEX world convention March 25 2014
SMART4apex company presentation APEX world convention March 25 2014SMART4apex company presentation APEX world convention March 25 2014
SMART4apex company presentation APEX world convention March 25 2014Sergei Martens
 
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]vasuballa
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScriptGeertjan Wielenga
 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperJeff Smith
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?jeckels
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperJeff Smith
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentGeertjan Wielenga
 

Similar to Oracle Application Express and PL/SQL: a world-class combo (20)

PL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperPL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL Developer
 
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL ChangesUsing Edition-Based Redefinition for Zero Downtime PL/SQL Changes
Using Edition-Based Redefinition for Zero Downtime PL/SQL Changes
 
Satyapriya rajguru: Every day, in one way or another.
Satyapriya  rajguru:  Every day, in one way or another.Satyapriya  rajguru:  Every day, in one way or another.
Satyapriya rajguru: Every day, in one way or another.
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
 
D34010.pdf
D34010.pdfD34010.pdf
D34010.pdf
 
UX Directions with HTML 5, and More
UX Directions with HTML 5, and MoreUX Directions with HTML 5, and More
UX Directions with HTML 5, and More
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperDebugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
 
Bryn llewellyn why_use_plsql at amis25
Bryn llewellyn why_use_plsql at amis25Bryn llewellyn why_use_plsql at amis25
Bryn llewellyn why_use_plsql at amis25
 
SMART4apex company presentation APEX world convention March 25 2014
SMART4apex company presentation APEX world convention March 25 2014SMART4apex company presentation APEX world convention March 25 2014
SMART4apex company presentation APEX world convention March 25 2014
 
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL Developer
 
Dd 1 1
Dd 1 1Dd 1 1
Dd 1 1
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL Developer
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
 

More from Steven Feuerstein

Speakers at Nov 2019 PL/SQL Office Hours session
Speakers at Nov 2019 PL/SQL Office Hours sessionSpeakers at Nov 2019 PL/SQL Office Hours session
Speakers at Nov 2019 PL/SQL Office Hours sessionSteven Feuerstein
 
New Stuff in the Oracle PL/SQL Language
New Stuff in the Oracle PL/SQL LanguageNew Stuff in the Oracle PL/SQL Language
New Stuff in the Oracle PL/SQL LanguageSteven Feuerstein
 
Oracle PL/SQL 12c and 18c New Features + RADstack + Community Sites
Oracle PL/SQL 12c and 18c New Features + RADstack + Community SitesOracle PL/SQL 12c and 18c New Features + RADstack + Community Sites
Oracle PL/SQL 12c and 18c New Features + RADstack + Community SitesSteven Feuerstein
 
Turbocharge SQL Performance in PL/SQL with Bulk Processing
Turbocharge SQL Performance in PL/SQL with Bulk ProcessingTurbocharge SQL Performance in PL/SQL with Bulk Processing
Turbocharge SQL Performance in PL/SQL with Bulk ProcessingSteven Feuerstein
 
utPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQLutPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQLSteven Feuerstein
 

More from Steven Feuerstein (6)

New(er) Stuff in PL/SQL
New(er) Stuff in PL/SQLNew(er) Stuff in PL/SQL
New(er) Stuff in PL/SQL
 
Speakers at Nov 2019 PL/SQL Office Hours session
Speakers at Nov 2019 PL/SQL Office Hours sessionSpeakers at Nov 2019 PL/SQL Office Hours session
Speakers at Nov 2019 PL/SQL Office Hours session
 
New Stuff in the Oracle PL/SQL Language
New Stuff in the Oracle PL/SQL LanguageNew Stuff in the Oracle PL/SQL Language
New Stuff in the Oracle PL/SQL Language
 
Oracle PL/SQL 12c and 18c New Features + RADstack + Community Sites
Oracle PL/SQL 12c and 18c New Features + RADstack + Community SitesOracle PL/SQL 12c and 18c New Features + RADstack + Community Sites
Oracle PL/SQL 12c and 18c New Features + RADstack + Community Sites
 
Turbocharge SQL Performance in PL/SQL with Bulk Processing
Turbocharge SQL Performance in PL/SQL with Bulk ProcessingTurbocharge SQL Performance in PL/SQL with Bulk Processing
Turbocharge SQL Performance in PL/SQL with Bulk Processing
 
utPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQLutPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQL
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Oracle Application Express and PL/SQL: a world-class combo