SlideShare a Scribd company logo
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
JSON	and	PL/SQL:	
A	Match	Made	in	
Database
1
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Resources	for	Oracle	Database	Developers
• Official	homes	of	SQL	and	PL/SQL	- oracle.com/sql			oracle.com/plsql
• Dev	Gym:	quizzes,	workouts	and	classes	- devgym.oracle.com
• Ask	Tom	- asktom.oracle.com	– 'nuff said	(+ new:	Office	Hours!)
• LiveSQL	- livesql.oracle.com – script	repository	and	24/7	18c	database
• SQL-PL/SQL	discussion	forum	on	OTN
https://community.oracle.com/community/database/developer-tools/sql_and_pl_sql
• PL/SQL	and	EBR	blog	by	Bryn	Llewellyn	- https://blogs.oracle.com/plsql-and-ebr
• Oracle	Learning	Library	- oracle.com/oll
• oracle-base.com - great	content	from	Tim	Hall
• oracle-developer.net - great	content	from	Adrian	Billington
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Some	Questions	for	You
• Do	you	write	code	in	the	database?
• Do	you	write	UI	code	as	well?
• Do	you	work	with	UI	developers?
• Do	you	fight	with	UI	developers?
• Who	has	the	ear	of	management,	the	database	developers	or	the	UI	
developers?
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
What	is	JSON?	
• JavaScript	Object	Notation
– A	"lightweight",	readable	data	interchange	format.	In	other	words,	NOT	
XML.	Squiggles	instead	of	angle	brackets.	WAY	better!	J
– Language	independent,	but	widely	used	by	UI	developers,	especially	those	
working	in	JavaScript.
• Built	on	two	structures:
– Name-value	pair	collections
– Order	list	of	values:	aka,	arrays
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
What	is	JSON?	(continued)
• JSON	object	- unordered set	of	name-value	pairs
• JSON	array - ordered collection	of	values.	
• JSON	value
– String	in	double	quotes,	a	number,	Boolean	literal,	NULL,	object	or	array
• Some	terminology
– Serialize:	convert	an	object	to	another	type.	Most	common:	TO_STRING	aka	
STRINGIFY.
– Introspection:	get	information	about	the	JSON	objects.	Example:	IS_ARRAY
• "What	constitutes	well-formed	JSON	data	is	a	gray	area."
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Should	Database	Developers	Care	About	JSON?	
• Do	we	really	have	to	care	about	and	learn	yet	another	syntax	for	yet	
another	non-relational	chunk	of	data?	[think	XML]
•Yes!
• JSON	is	the (current)	preferred	method	by	which	Javascript,	Python	
and	other	developers	interact	with	data.
• And	these	days,	what	application	(UI)	developers	say,	goes.	
• The	critical	question	for	database	developers is:
How	can	we	help	those	UI	developers	succeed?
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
We've	Got	It	(Relatively)	Easy
There's	a	reason	for	the	Framework	Insanity	of	JavaScript
• User	interfaces	are	tied	directly	and	tightly	to	culture.	Uh	oh.
• Lots	and	lots	of	code	(compared	to,	say,	Application	Express)
• Microservices,	bots,	containers,	asynchronous	communication....
• Endless	demand	for	changes	to	UIs,	since	we	need	to	hide	all	that	
ever-increasing	complexity
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
So	they’ve	got	it	tough,	so	what?
• That	depends	on	what’s	important.
• The	only	thing	that	matters	– that	should	matter	- when	it	
comes	to	software	development	is	building	successful	
applications.
• Which	means	we	are	all	in	this	together.
• Let’s	start	acting	like	that.
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Let's	Change	the	Message	to	How	can	I	help?
• And	drop	the	attitude.	J
• Don't	be	so	eager	to	point	out	where	others	are	
wrong.
– You	could	even	admit	you are	wrong.
• Find	developer	pain	points.	These	come	to	mind:	
– Performance	of	DB	access
– Headaches	wrestling	with	SQL
– Needs	JSON-based	APIs
• Then	offer	solutions,	of	which	you	have	lots.
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
We	can	help	UI	developers	– a	LOT.
And	12.2	makes	it	easier	than	ever	before.
• You	hate	SQL?	No	problem,	we	love	it	and	are	good	at	it.
– Get really	good	at	it!
• You	want	APIs?	We've	got	the	best	data	APIs.
– PL/SQL	is	the	best	performing,	most	secure	and	productive	
language	for	creating	APIs	to	the	database,	through	packages.
• You	want	JSON?
– Oracle	Database	offers	native	JSON	support	via	SQL	and	PL/SQL.
• You	will	only	talk	REST?	No	problem.
– Easy,	secure	REST	APIs	(often	generated)	through	Oracle	REST	
Data	Services.
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
JSON	and	SQL	in	Oracle	Database	
• Oracle	Database	12c	Release	1	added	many	great	features	for	native	
support	of	JSON	in	tables	and	via	SQL.
• "IS	JSON"	constraint	for	existing	types	– there	is	no	JSON	type
– (N)VARCHAR2,	(N)CLOB,	BLOB,	RAW
• JSON	operators	in	SQL
– JSON_VALUE,	JSON_QUERY,	JSON_TABLE,	JSON_EXISTS,	IS	JSON
• JSON	Dataguide
– Discover	information	about	structure	and	content	of	JSON	documents
• Index	JSON	data	– scalar	values	and	in	12.2	the	Search	Index.
https://v.gd/oradbjson
Use	Case:	JSON	for	Flexfields
https://livesql.oracle.com	search	"flex"
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Changing	JSON	Data	in	Tables
• Oracle	Database	offers	lots	of	ways	to	extract	information	from	JSON	
documents	stored	in	tables.
• Changes	to	JSON	requires	a	replacement	of	the	entire	document.
– You	cannot,	for	example,	do	an	"in	place"	removal	of	a	name-value	pair	or	and	
element	from	an	array.	
• Instead:
– 1.	You	serialize	the	JSON	data	into	a	PL/SQL	variable.
– 2.	Change	the	JSON	data	as	needed.
– 3.	Run	the	usual	DML	statements	to	modify	the	table.
• Ah...but	how	do	you	go	about	changing	that	JSON	data?
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
JSON	and	PL/SQL	in	Oracle	Database	
• Oracle	Database	12c	Release	2 built	upon	the	fantastic	start	in	12.1	
with	more	SQL	features	and	a	set	of	object	types	to	manipulate	JSON	
in	PL/SQL.
• The	JSON*	types	provide	an	in-memory,	hierarchical	representation	
of	JSON	data.	Use	them	to...
– Check	structure,	types	or	values	of	JSON	data.	Validate	rules,	etc.
– Transform	JSON	data	the	"smart	way."
– Construct	JSON	data	programmatically
Not	on	12.2?
Check	out	APEX_JSON	and	PL/JSON	for	similar	functionality.
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
PL/SQL	JSON	Object	Types
• JSON_ELEMENT_T
– Supertype	of	all	those	below.	Rarely	used	directly.
• JSON_OBJECT_T	
– Manipulate	JSON	objects	(set	of	name-value	pairs)
• JSON_ARRAY_T	
– Manipulate	JSON	arrays
• JSON_SCALAR_T	
– Work	with	scalar	values	associated	with	a	key
• JSON_KEY_LIST
– Array	of	key	names,	returned	by	GET_KEYS	method
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Some	JSON	Object	Type	Basics
• Use	the	parse	static	method	to	create	the	in-memory	representation	
of	your	JSON	data.
• Serialization does	the	opposite:	converts	an	object	representation	of	
JSON	data	into	a	textual	representation.
– The	STRINGIFY	and	TO_*	methods
• Use	TREAT	to	cast an	instance	of	JSON_ELEMENT_T	to	a	subtype.
– Most	of	your	code	will	work	with	objects	and	arrays.
• Introspection methods	return	information	about	your	data.
– Is	it	an	array,	is	it	a	string?	What	is	its	size?	etc.
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Introspection	Methods
• JSON_ELEMENT_T	(the	most	general	type)	offers	a	set	of	methods	to	
tell	you	what	specific	subtype	you	are	working	with.
– IS_OBJECT,	IS_ARRAY,	IS_SCALAR,	IS_NULL,	etc.
• The	return	value	of	GET_SIZE	depends	on	what	it	is	"sizing":
– For	scalar,	returns	1.
– For	object,	returns	the	number	of	top-level	keys
– For	array,	returns	the	number	of	items
LiveSQL:	search	for	"introspection"
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Error	Handling	and	JSON	Object	Types
• The	default	behavior	of	JSON	object	type	methods	is	to	return	NULL	
if	anything	goes	wrong.
– Consistent	with	behavior	of	other	JSON	APIs	already	loose	in	the	world.
• But	that	can	lead	to	problems.
– Can	"escalate"	error	handling	to	force	the	raising	of	exceptions.
• On	a	per-object	type	instance	basis,	call	the	ON_ERROR	method	and	
pass	it	a	value	of	0	through	4.
– 0	=	Return	NULL	(default),	1=	Raise	all	errors	...
LiveSQL:	search	for	"on_error"
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Working	with	JSON	Objects:	JSON_OBJECT_T
• JSON	object:	unordered	set	of	name-value	pairs
– The	value	could	be	an	array, or	another	object...
• STRINGIFY:	return	a	string	representation	of	an	object
• PUT:	change	value	of	existing	key	or	add	new	one
• PUT_NULL:	replace	value	of	key	with	NULL	(or	add	new)
• REMOVE:	remove	name-value	pair	from	object
• RENAME_KEY:	renames	the	key	in	the	name-value	pair
LiveSQL:	search	for	"JSON_OBJECT_T"
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Working	with	JSON	Arrays
• If	you	see	[],	you've	got	an	array.	
– Arrays	can	nested.	They	can	contain	scalars	or	objects.
• STRINGIFY:	return	a	string	representation	of	an	array
• PUT:	add	a	new	element	at	the	specified	position
• PUT_NULL:	add	a	new	element	with	value	NULL
• REMOVE:	remove	specified	element	from	array
• APPEND:	append	new	element	on	end	of	array
LiveSQL:	search	for	"JSON_ARRAY_T"
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
There's	No	Escaping	JSON!
• It	will	be	the	dominant	data	exchange	format
for	years	to	come.
– And	compared	to	SQL	it's	easy.
• Oracle	Database	gives	you	all	the	tools	you
need	to	combine	the	best	of	both	worlds:
relational	AND	document.
• Use	your	expertise	in	SQL,	PL/SQL	and JSON	to	become	an	
invaluable	partner	with	your	UI	developers.
– Help	them	be	successful,	and	you will	be	successful.
Copyright	©	2018	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Want	to	Influence	Oracle’s	Product	Direction	and	Designs?
• Oracle’s	Cloud	Platform	User	Research	team	would	love	to	hear	your	
opinions	on	the	very	latest	designs,	from	products	all	across	Oracle’s	stack!
• Get	a	sneak	peek	at	unreleased	concepts	long	before	they	reach	the	market!
• You	tell	us	the	date	and	time	that	suits	you,	and	we’ll	do	a	webconference.
• Take	part	in	the	type	of	activity	you	want,	on	the	type	of	product	you	want:
– Focus	Groups
– Interviews
– Usability	Tests
– Surveys
• Interested?		Sign	up	at		https://tinyurl.com/OracleUserResearch
22

More Related Content

What's hot

Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle
Kyle Hailey
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
Tanel Poder
 
Impact Analysis with PL/Scope
Impact Analysis with PL/ScopeImpact Analysis with PL/Scope
Impact Analysis with PL/Scope
Steven Feuerstein
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Carlos Sierra
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
Simon Huang
 
File Format Benchmarks - Avro, JSON, ORC, & Parquet
File Format Benchmarks - Avro, JSON, ORC, & ParquetFile Format Benchmarks - Avro, JSON, ORC, & Parquet
File Format Benchmarks - Avro, JSON, ORC, & Parquet
Owen O'Malley
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
Mauro Pagano
 
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsDB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
John Beresniewicz
 
Oracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aasOracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aas
Kyle Hailey
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
Anil Nair
 
How to use 23c AHF AIOPS to protect Oracle Databases 23c
How to use 23c AHF AIOPS to protect Oracle Databases 23c How to use 23c AHF AIOPS to protect Oracle Databases 23c
How to use 23c AHF AIOPS to protect Oracle Databases 23c
Sandesh Rao
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Anil Nair
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Markus Michalewicz
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
Markus Michalewicz
 
Hash joins and bloom filters at AMIS25
Hash joins and bloom filters at AMIS25Hash joins and bloom filters at AMIS25
Hash joins and bloom filters at AMIS25
Getting value from IoT, Integration and Data Analytics
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
Carlos Sierra
 

What's hot (20)

Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle
 
Tanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools shortTanel Poder - Scripts and Tools short
Tanel Poder - Scripts and Tools short
 
Impact Analysis with PL/Scope
Impact Analysis with PL/ScopeImpact Analysis with PL/Scope
Impact Analysis with PL/Scope
 
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
File Format Benchmarks - Avro, JSON, ORC, & Parquet
File Format Benchmarks - Avro, JSON, ORC, & ParquetFile Format Benchmarks - Avro, JSON, ORC, & Parquet
File Format Benchmarks - Avro, JSON, ORC, & Parquet
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
 
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsDB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
 
Oracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aasOracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aas
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 1
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
 
How to use 23c AHF AIOPS to protect Oracle Databases 23c
How to use 23c AHF AIOPS to protect Oracle Databases 23c How to use 23c AHF AIOPS to protect Oracle Databases 23c
How to use 23c AHF AIOPS to protect Oracle Databases 23c
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC Performance
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
 
Hash joins and bloom filters at AMIS25
Hash joins and bloom filters at AMIS25Hash joins and bloom filters at AMIS25
Hash joins and bloom filters at AMIS25
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
 

Similar to JSON and PL/SQL: A Match Made in Database

Error Management Features of PL/SQL
Error Management Features of PL/SQLError Management Features of PL/SQL
Error Management Features of PL/SQL
Steven Feuerstein
 
All About PL/SQL Collections
All About PL/SQL CollectionsAll About PL/SQL Collections
All About PL/SQL Collections
Steven Feuerstein
 
Free Oracle Training
Free Oracle TrainingFree Oracle Training
Free Oracle Training
sdturton
 
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQLNoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
Andrew Morgan
 
Appendix f education
Appendix f educationAppendix f education
Appendix f education
Imran Ali
 
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
 
Intro
IntroIntro
ETL for the masses with Power Query and M
ETL for the masses with Power Query and METL for the masses with Power Query and M
ETL for the masses with Power Query and M
Régis Baccaro
 
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
lucenerevolution
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )
Rajput Rajnish
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
Jeff Smith
 
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objectsBacking Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
ITD Systems
 
ow.ppt
ow.pptow.ppt
ow.ppt
ssuser96a63c
 
ow.ppt
ow.pptow.ppt
Ow
OwOw
Less01 db architecture
Less01 db architectureLess01 db architecture
Less01 db architecture
Imran Ali
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
Karel Zikmund
 
Pimping SQL Developer and Data Modeler
Pimping SQL Developer and Data ModelerPimping SQL Developer and Data Modeler
Pimping SQL Developer and Data Modeler
Kris Rice
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL Server
Jeff Smith
 
05 integrate redis
05 integrate redis05 integrate redis
05 integrate redis
Erhwen Kuo
 

Similar to JSON and PL/SQL: A Match Made in Database (20)

Error Management Features of PL/SQL
Error Management Features of PL/SQLError Management Features of PL/SQL
Error Management Features of PL/SQL
 
All About PL/SQL Collections
All About PL/SQL CollectionsAll About PL/SQL Collections
All About PL/SQL Collections
 
Free Oracle Training
Free Oracle TrainingFree Oracle Training
Free Oracle Training
 
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQLNoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
 
Appendix f education
Appendix f educationAppendix f education
Appendix f education
 
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
 
Intro
IntroIntro
Intro
 
ETL for the masses with Power Query and M
ETL for the masses with Power Query and METL for the masses with Power Query and M
ETL for the masses with Power Query and M
 
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
 
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objectsBacking Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
Backing Data Silo Atack: Alfresco sharding, SOLR for non-flat objects
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
Less01 db architecture
Less01 db architectureLess01 db architecture
Less01 db architecture
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
Pimping SQL Developer and Data Modeler
Pimping SQL Developer and Data ModelerPimping SQL Developer and Data Modeler
Pimping SQL Developer and Data Modeler
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL Server
 
05 integrate redis
05 integrate redis05 integrate redis
05 integrate redis
 

More from Steven Feuerstein

New(er) Stuff in PL/SQL
New(er) Stuff in PL/SQLNew(er) Stuff in PL/SQL
New(er) Stuff in PL/SQL
Steven 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 happiness
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 session
Steven 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 Language
Steven Feuerstein
 
AskTOM Office Hours on Database Triggers
AskTOM Office Hours on Database TriggersAskTOM Office Hours on Database Triggers
AskTOM Office Hours on Database Triggers
Steven Feuerstein
 
PL/SQL Guilty Pleasures
PL/SQL Guilty PleasuresPL/SQL Guilty Pleasures
PL/SQL Guilty Pleasures
Steven Feuerstein
 
Oracle Application Express and PL/SQL: a world-class combo
Oracle Application Express and PL/SQL: a world-class comboOracle Application Express and PL/SQL: a world-class combo
Oracle Application Express and PL/SQL: a world-class combo
Steven Feuerstein
 
OLD APEX and PL/SQL
OLD APEX and PL/SQLOLD APEX and PL/SQL
OLD APEX and PL/SQL
Steven Feuerstein
 
High Performance PL/SQL
High Performance PL/SQLHigh Performance PL/SQL
High Performance PL/SQL
Steven 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 Sites
Steven Feuerstein
 
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
Steven Feuerstein
 
Database Developers: the most important developers on earth?
Database Developers: the most important developers on earth?Database Developers: the most important developers on earth?
Database Developers: the most important developers on earth?
Steven 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 More
Steven 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 Processing
Steven 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 Compiler
Steven 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/SQL
Steven Feuerstein
 

More from Steven Feuerstein (16)

New(er) Stuff in PL/SQL
New(er) Stuff in PL/SQLNew(er) Stuff in PL/SQL
New(er) Stuff in 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
 
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
 
AskTOM Office Hours on Database Triggers
AskTOM Office Hours on Database TriggersAskTOM Office Hours on Database Triggers
AskTOM Office Hours on Database Triggers
 
PL/SQL Guilty Pleasures
PL/SQL Guilty PleasuresPL/SQL Guilty Pleasures
PL/SQL Guilty Pleasures
 
Oracle Application Express and PL/SQL: a world-class combo
Oracle Application Express and PL/SQL: a world-class comboOracle Application Express and PL/SQL: a world-class combo
Oracle Application Express and PL/SQL: a world-class combo
 
OLD APEX and PL/SQL
OLD APEX and PL/SQLOLD APEX and PL/SQL
OLD APEX and PL/SQL
 
High Performance PL/SQL
High Performance PL/SQLHigh Performance PL/SQL
High Performance PL/SQL
 
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
 
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
 
Database Developers: the most important developers on earth?
Database Developers: the most important developers on earth?Database Developers: the most important developers on earth?
Database Developers: the most important developers on earth?
 
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
 
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
 
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
 
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

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

JSON and PL/SQL: A Match Made in Database