31 July 2012

Results from Q2 2012 Championship Playoff

You will find below the rankings for the Q2 2012 playoff; the number next to the player's name is the number of times that player has participated in a playoff.

Congratulations first and foremost to our top-ranked players:

1st Place: kowido wins Amazon.com US$250 Gift Card .
2nd Place: Justin Cave of United States wins Amazon.com US$175 Gift Card.
3rd Place: Frank Schrader of Germany wins Amazon.com US$100 Gift Card

In the Q1 2012 playoff, the highest % correct was 87. In this playoff, five players exceeded 90% accuracy, with our second-place winner actually getting every single choice correct! Nice work, Justin. You might then be asking yourself: "Why is Justin in second place if he got every choice correct?" That's because kowido, the first-place winner, was almost as correct (only 2 wrong out of 23 choices - a performance matched by three others) and he submitted his answers in about half the time of Justin.

Sometimes it pays to hurry - at least if you really know your stuff. And as you can see from the table below, kowido squeaked into first place with just one more point than Justin.

Congratulations to everyone who played in the playoff. I hope you found it entertaining, challenging and educational. And for those who were not able to participate in the playoff, you can take the quizzes next week through the Practice feature.

Steven Feuerstein

PS - Below the table of results for this playoff, you will find another list showing the playoff history of each of these players.

Playoff Results 


Rank Name Country Total Time % Correct Total Score
1kowido (6)No Country Set16 mins 04 secs91%2879
2Justin Cave (6)United States31 mins 06 secs100%2878
3Frank Schrader (8)Germany19 mins 27 secs91%2811
4Frank Schmitt (2)Germany15 mins 06 secs87%2748
5Niels Hecker (8)Germany30 mins 42 secs91%2586
6Siim Kask (7)Estonia25 mins 58 secs87%2531
7Giedrius Deveikis (1)Lithuania17 mins 21 secs83%2518
8Dieter Kowalski (2)Germany27 mins 16 secs87%2470
9Sean Stuber (5)United States34 mins 57 secs91%2466
10Scott Wesley (2)Australia15 mins 15 secs78%2410
11Anna Onishchuk (6)Ireland33 mins 52 secs87%2373
12Viacheslav Stepanov (6)Russia32 mins 38 secs87%2362
13Rakesh Dadhich (1)India17 mins 34 secs74%2324
14Jerry Bull (5)United States23 mins 49 secs78%2324
15Ivan Blanarik (2)Slovakia34 mins 56 secs87%2316
16Vincent Malgrat (3)French Republic25 mins 48 secs83%2274
17Sebastian Kolski (2)Poland30 mins 18 secs83%2259
18james su (5)Canada24 mins 36 secs74%2098
19mentzel.iudith (7)Israel34 mins 52 secs78%2018
20Mike Pargeter (7)United Kingdom20 mins 03 secs70%2014
21Kuzmin Konstanin (1)No Country Set16 mins 59 secs70%2000
22Randy Gettman (7)United States29 mins 30 secs74%1935
23_tiki_4_ (3)Germany24 mins 23 secs70%1887
24swart260 (1)Netherlands19 mins 26 secs65%1876
25Kevan Gelling (6)Isle of Man31 mins 01 secs70%1870
26Chad Lee (5)United States34 mins 28 secs74%1861
27Yuan Tschang (4)United States34 mins 55 secs74%1827
28Syed Ariful Bari (4)Bangladesh08 mins 05 secs57%1778
29Zoltan Fulop (2)Hungary32 mins 43 secs65%1671
30Goran Stefanović (2)Serbia34 mins 46 secs65%1620
31Anil Jha (1)United States26 mins 18 secs57%1389
32Vinu (1)India29 mins 38 secs48%1072
33Stelios Vlasopoulos (4)Belgium29 mins 57 secs48%1041

Playoff Performance History 

After each name, the quarter in which he or she played, and the ranking in that playoff.

Name History
kowidoQ1 2011:25th, Q2 2011:9th, Q3 2011:16th, Q4 2011:20th, Q1 2012:4th, Q2 2012:1st
Justin CaveQ3 2010:26th, Q4 2010:3rd, Q1 2011:5th, Q3 2011:3rd, Q1 2012:25th, Q2 2012:2nd
Frank SchraderQ3 2010:12th, Q4 2010:30th, Q1 2011:1st, Q2 2011:5th, Q3 2011:1st, Q4 2011:1st, Q1 2012:13th, Q2 2012:3rd
Frank SchmittQ4 2011:23rd, Q2 2012:4th
Niels HeckerQ2 2010:2nd, Q3 2010:1st, Q4 2010:15th, Q1 2011:7th, Q3 2011:7th, Q4 2011:10th, Q1 2012:2nd, Q2 2012:5th
Siim KaskQ1 2011:29th, Q2 2011:7th, Q3 2011:10th, Q4 2011:3rd, Q1 2012:9th, Q2 2012:6th
Giedrius DeveikisQ2 2012:7th
Dieter KowalskiQ1 2012:21st, Q2 2012:8th
Sean StuberQ3 2010:5th, Q1 2011:21st, Q2 2011:11th, Q1 2012:16th, Q2 2012:9th
Scott WesleyQ3 2010:30th, Q2 2012:10th
Anna OnishchukQ1 2011:6th, Q2 2011:22nd, Q3 2011:20th, Q4 2011:17th, Q1 2012:24th, Q2 2012:11th
Viacheslav StepanovQ1 2011:9th, Q2 2011:4th, Q3 2011:13th, Q4 2011:19th, Q1 2012:19th, Q2 2012:12th
Rakesh DadhichQ2 2012:13th
Jerry BullQ2 2011:33rd, Q3 2011:8th, Q1 2012:14th, Q2 2012:14th
Ivan Blanarik Q1 2012:3rd, Q2 2012:15th
Vincent MalgratQ4 2011:9th, Q1 2012:15th, Q2 2012:16th
Sebastian KolskiQ1 2012:22nd, Q2 2012:17th
james suQ3 2010:56th, Q2 2011:8th, Q3 2011:11th, Q4 2011:14th, Q2 2012:18th
mentzel.iudithQ4 2010:4th, Q1 2011:17th, Q2 2011:24th, Q3 2011:5th, Q4 2011:4th, Q1 2012:8th, Q2 2012:19th
Mike PargeterQ4 2010:22nd, Q1 2011:15th, Q2 2011:10th, Q4 2011:5th, Q1 2012:6th, Q2 2012:20th
Kuzmin KonstaninQ2 2012:21st
Randy GettmanQ3 2010:8th, Q1 2011:26th, Q2 2011:12th, Q3 2011:4th, Q4 2011:11th, Q1 2012:20th, Q2 2012:22nd
_tiki_4_Q4 2011:27th, Q1 2012:18th, Q2 2012:23rd
swart260Q2 2012:24th
Kevan GellingQ2 2011:21st, Q3 2011:2nd, Q4 2011:6th, Q1 2012:7th, Q2 2012:25th
Chad LeeQ2 2011:27th, Q3 2011:18th, Q4 2011:12th, Q1 2012:1st, Q2 2012:26th
Yuan TschangQ2 2012:27th
Syed Ariful BariQ3 2011:19th, Q4 2011:28th, Q1 2012:32nd, Q2 2012:28th
Zoltan FulopQ1 2012:17th, Q2 2012:29th
Goran StefanovićQ1 2012:34th, Q2 2012:30th
Anil JhaQ2 2012:31st
VinuQ2 2012:32nd
Stelios VlasopoulosQ4 2010:38th, Q4 2011:21st, Q1 2012:30th, Q2 2012:33rd

06 July 2012

High Achievers at the PL/SQL Challenge

As Chicago endures another 100 degree day, I thought it would be a good time to honor some of our high achievers: players who were 100% correct for an entire month and those who played every quiz for an entire year or quarter. Even if your temperatures were not very high as you took all these quizzes, it certainly required a lot of effort!

Correct Through Entire Month

Alain Boulianne (7962)
Christopher Beck (7070)
Dan R (3865)
Dennis Klemme (10505)
Eugene Balabanov (3622)
Frank Schrader (17905)
kowido (10735)
Pavel Zeman (12461)

Played Every Quiz for Entire Year

Cliff Nadler (14431)
DaveStadt-wbt (17310)
Erik Jan Bodewitz (11323)
Lukasz Kubicki (11659)
Martin Mierke (15229)

Martin_Scholz_Berlin_Berlin (17473)
mentzel.iudith (26140)
Niels Jespersen (12436)
Siim Kask (11900)
Stelios Vlasopoulos (16335)
Viacheslav Stepanov (38695)

Played Every Quiz in a Quarter

AZOR (5132)
Alain Boulianne (7962)
Alexander Albrant (11276)
Alexander Andris (9033)
Alexander Koblov (18245)
Alexandre Santos de Pinho (12157)
Alexey Ponomarenko (12153)
Alf Jørgen Bråtane (8821)
An Verherstraeten (5934)
Anatoliy Kanivets (12433)
Andrew Fenton (13177)
Anna Onishchuk (14227)
Anton Scheffer (10404)
Anton Sibiryakov (8419)
Antonio Ipili (14926)
Bradd Piontek (8246)
CLW-wbt (14770)
Chad Lee (20540)
Chase Mei (14365)
Chirayu Poundarik (5651)
Chris Saxon (16956)
Christian Rokitta (10487)
Christian Wenzel (3529)
Cliff Nadler (14431)
Cor van Berkel (12505)
Cruz3490 (5407)
Dalibor Kovač (11746)
Dan (10194)
Dan Voiculet (7046)
Daniel Butun (2113)
Daniel Kennedy (13474)
DaveStadt-wbt (17310)
David Alexander (10428)
David Codl (13336)
Davide Gislon (13499)
Denis Ivin (14328)
Dennis Klemme (10505)
Dick Dral (7351)
Dieter Kowalski (16407)
DikkieDick (11544)
Dipendra Thapa (17696)
Dmitry Pushkashu (6301)
Doef (10019)
EdgarsP (19994)
Eigminas Dagys (8349)
Elic (15958)
Eric Levin (11188)
Erik Jan Bodewitz (11323)
Ernst Leber (5347)
Faig Garayev (13354)
Filipe Silva (10718)
Flaviano Brandi (5422)
Frank Schrader (17905)
Fred van Nimwegen (9415)
Gary Myers (10414)
Geert Guldentops (13220)
Gerry171 (7472)
Gideon Bruggink (15093)
Goce Krzovski (10727)
Graham Wallace (11768)
Hamid Talebian (16441)
Hans Van Der Wildt (6199)
Harvey (14899)
Hellmaster (14908)
Henry Abeska (27847)
Hrvoje Torbašinović (12115)
Hudai Polat (17007)
Ian Roberts (6900)
Ingimundur Gudmundsson (19841)
Ivan Blanarik (14792)
Jan Soubusta (9064)
Jan van Overveld (19042)
Janez Košir (9699)
Janis Baiza (13283)
Javier Rapoport (9777)
Jeff Kemp (16976)
Jeroen Rutte (11652)
Jerry Bull (14371)
Jim Schmitz (12419)
John Hall (16547)
Joni Vandenberghe (4780)
João Barreto (13350)
JuanFer (12290)
Justin Cave (17727)
Kai Michels (9899)
Keith Milner (16408)
Kevin Bentley (12424)
Kim Berg Hansen (11984)
Klaas Visser (7094)
Krzysztof Helbin (7951)
Lars Ekner (12077)
Lars Jensen (8138)
Litz (5524)
LuckyStarr (11349)
Ludovic Szewczyk (8956)
Lukasz Kubicki (11659)
Marc Thompson (11228)
Marcus Matzberger (12019)
Marga (16601)
Marius NITU (14350)
Mark Mankins (6691)
Markus Langlotz (8625)
Markus Schuster (5065)
Markus Zuser (12062)
Marlies Q (11957)
Marsel Fattakhov (6668)
Martin Mierke (15229)
Martin_Scholz_Berlin_Berlin (17473)
Matthias Rogel (12890)
Mauricio Fernández (10262)
Michael Elzer (12394)
Michael Meyers (10851)
Michal Cvan (15478)
Miguel Fornari (3815)
MikaelZ (13079)
Mike Pargeter (14847)
Mikhail Martsynyuk (6651)
Milan Vontorcik (14606)
Mischa Rihm (10422)
Morten H (3500)
Naresh Kumar (15851)
Natarajan-wbt (14389)
Nathalie Ver Eecke (2772)
Nguyen Hoang Sang (2851)
Nick Strange (6093)
NickL (12145)
Niels Hecker (23079)
Niels Jespersen (12436)
Nosenko Ivan (10688)
Olav Kjemhus (12102)
Oleg Gorskin (10587)
Oliver Dimalanta (14382)
Otto Palenicek (13081)
Patrick Barel (15503)
Patrick Zurflueh (6747)
Paul Kuijk (10543)
Pavel Noga (15401)
Pavel Vorontsov (13555)
Pavel Zeman (12461)
Peter Chenery (14818)
Pieter-Jan Albers (11343)
Raghavendra Subbanna (10432)
RajenB (10877)
Ralf Koelling (15828)
Ravshan Abbasov (7049)
Rich Dellheim (16702)
Rimantas Adomauskas (14429)
Rob van den Berg (11465)
Roel Hartman (11349)
Rohan Gray (13209)
Rytis Budreika (14083)
Sayan Malakshinov (4509)
Scott Wesley (18216)
Sean Molloy (16624)
Sean Stuber (15674)
Sebastian Kolski (16333)
Serge Shmygelskyy (6560)
Sergey Porokh (13973)
Siim Kask (11900)
Sjoerd-Auke Fokkens (3457)
Spoon (8418)
Stelios Vlasopoulos (16335)
Sterol Andro (13222)
Steven Zwart (6440)
Sue Wilson (13267)
Theodore Christofis (11682)
Thierry Poels (17643)
Tobias Stark (18113)
Toine (6501)
Toine van Beckhoven (7226)
Troshky (7540)
Urmo Kaber (14083)
Urs Metzger (14846)
Viacheslav Banket (8201)
Viacheslav Stepanov (38695)
VictorD (16181)
Vijay Mahawar (15163)
Vladimir Drozdov (9919)
WCB (3586)
Ward Verachtert (5500)
William (Yi) Zhu (16841)
Wim de Lange (12720)
Wolfgang Habermann (15245)
Xavier Descamps (12827)
Yuriy Pedan (10487)
Zoltan Fulop (5315)
Zoltán Pásztor (15772)
_tiki_4_ (12783)
al0 (8295)
alfa33 (10388)
anil_jha (12083)
attagianno (6113)
cuno.gisep (10802)
dannyg64 (15071)
emha (15944)
f1987 (14611)
glenm (9942)
gold_hamster (11783)
james su (16788)
karel roos (5187)
katuinbouter (8687)
koko (15034)
kowido (10735)
ksokol (5683)
louisywema (7355)
mark kavalaris (9177)
masum (13945)
mentzel.iudith (26140)
micklesh (10490)
nhawe (2496)
nicos (2549)
owbeg (13871)
poelger (18661)
puchtec (10213)
rahim ahmedov (4091)
sonksen (14071)
st_guitar (12661)
swart260 (2656)
tamino (6296)
umir (7129)
vijayaragavan r (16635)
voltrik (7707)
yonderboi (11603)

05 July 2012

Site Still Down 4:45 UTC 5 July

Unfortunately, the PL/SQL Challenge website is still down, and will likely not be up for several hours more.

So it looks like we will be not doing a quiz today (5 July) either.

We are as disappointed with this state of affairs as the many players who have contacted me directly, wondering when they will be able to play their quiz.

Such dedication! I hate to disappoint you, but, well, look at it this way: we are giving you a little vacation from the quiz. It's July, so for most of you the sun is shining, the air is warm. In other words, it's time to go outside and play.

Don't worry, we'll be back up soon and then you can come back inside and take the quiz.

Thanks for your patience,
Steven Feuerstein

04 July 2012

Quiz for 4 July Will Not Be Ranked

The PL/SQL Challenge website has been down for most of the day, as we recover the database from 02:00 UTC 4 July. Our apologies for the inconvenience and lost opportunity to compete.

The results for 4 July will not be used in rankings and determining qualification in the Q3 championship playoff.

So if you are an American, it's just our way of saying: "Don't work (or 'play' with your technology)! Get away from your computer and celebrate the founding of your nation!"

Sigh.....

02 July 2012

Time for the Q2 2012 Championship Playoff!

The second quarter of 2012 ended last week...and that means it's time for the next championship playoff.

As you may recall, last quarter we initiated a new qualifier process in which selected players are asked to verify their performance during the quarter before being able to participate in the playoff.

I am very pleased to announce that none of the players this quarter will be required to take qualifier quizzes. What this means, in essence, is that none of the players submitted answers in astonishing and perhaps bewildering shorts amounts of time.

There is one other unusual aspect to the player group for this playoff: no players were able to qualify under the Wildcard category (see the FAQ for more information on how players are chosen).

In the table below, the number in parentheses after their names are the number of playoffs in which they have already participated. Congratulations to all listed on their accomplishment and best of luck in the upcoming competition!

We currently plan to hold the playoff on 26 July; that date may change if enough players are unable to play on that day.

Name Rank Qualification Country
Frank Schrader (7)1Top 25Germany
Stelios Vlasopoulos (3)2Top 25Belgium
mentzel.iudith (6)3Top 25Israel
Viacheslav Stepanov (5)4Top 25Russia
Justin Cave (5)5Top 25United States
Rakesh Dadhich (0)6Top 25India
Jerry Bull (4)7Top 25United States
kowido (5)8Top 25No Country Set
Siim Kask (6)9Top 25Estonia
Vincent Malgrat (2)10Top 25French Republic
Sebastian Kolski (1)11Top 25Poland
Anna Onishchuk (5)12Top 25Ireland
_tiki_4_ (2)13Top 25Germany
Ivan Blanarik (1)14Top 25Slovakia
Niels Hecker (7)15Top 25Germany
Chad Lee (4)16Top 25United States
james su (4)17Top 25Canada
Dieter Kowalski (1)18Top 25Germany
swart260 (0)19Top 25Netherlands
Scott Wesley (1)20Top 25Australia
Sean Stuber (4)21Top 25United States
Randy Gettman (6)22Top 25United States
Giedrius Deveikis (0)23Top 25Lithuania
Zoltan Fulop (1)24Top 25Hungary
Mike Pargeter (6)25Top 25United Kingdom
Kevan Gelling (5)26CorrectnessIsle of Man
Thierry Poels (3)63CorrectnessBelgium
Syed Ariful Bari (3)84CorrectnessBangladesh
Yuan Tschang (3)86CorrectnessUnited States
Vinu (0)90CorrectnessIndia
Goran Stefanović (1)100CorrectnessSerbia
anil_jha (0)105CorrectnessUnited States
Frank Schmitt (1)114CorrectnessGermany
John Rowbottom (1)200CorrectnessUnited Kingdom
Kuzmin Konstanin (0)224CorrectnessNo Country Set

30 June 2012

PL/SQL Challenge at Kscope12

I returned a few days ago from ODTUG's annual Kscope (formerly Kaleidoscope) conference, this year in hot, hot San Antonio, but located at the very comfortable and luxurious JW Marriott resort.

At the suggestion of Mike Brunstedt, one of our fabulous PL/SQL quiz reviewers, I made up a PL/SQL Challenger ribbon so that players and friends of the site could proudly proclaim their Challenger-ness:



We will also be giving them out at Oracle Open World in the Fall, so there's another reason to attend Larry's outsized celebration of all things Oracle.

It was great to meet players of the PL/SQL Challenge, and hear about how playing the quizzes has helped them in their work. It was even more of a pleasure to meet up with some of the reviewers who ensure the high quality of quizzes we play on the site:


From left to right: Michael Brunstedt, Patrick Barel, Steven Feuerstein, Kim Berg Hansen

The PL/SQL Challenge wouldn't exist at all without the initial support and ongoing efforts by my Application Express expert friends at Apex Evangelists, so I demanded that they also join me for a photo:


From left to right: Dimitri Gielis, John Scott, Steven Feuerstein, Paul Broughton

Kscope12 was the usual fantastic conference, organized oh-so-well by Kathleen McCasland and her posse of capable women from Your Conference Connection, led by a friendly, enthusiastic board of directors.

Hope to see you there next year!

22 June 2012

PL/SQL Bug Confirmed from 20 June Quiz

The 20th June quiz tested your knowledge of how to remove "gaps" from a sparse array (make it dense). Daniel Kennedy posted an objection to the scoring, saying that if you use a NULL value for the index value in the collection, then none of the choices are correct.

This was a big surprise to many of us, who have long seen in our code that the idex value in an integer-indexed array cannot be NULL. Well....after checking with Bryn Llewellyn, Oracle PL/SQL Product Manager, I confirmed that this was a bug - and one that had not yet been reported!

So Bryn filed a bug report (1422744) with the explanation and code shown below.

Many aspects of the PL/SQL Challenge make me proud (the large number of players, their dedication, the growing body of knowledge about PL/SQL accessible in formats never available before, and so on). But when we identify bugs in the language or fixes required in the documentation, then I feel even more strongly how much the PL/SQL language can benefit from an active, engaged community.

Thanks, Daniel, for identifying this bug and for playing the PL/SQL Challenge.

Steven Feuerstein

v(null) := 42 succeeds when v is an IBBI – and brings Heisenberg exception handling 
(from Bryn Llewellyn)

The testcase is copied below. Run it as any user with at least Create Session and Create Procedure.

The behavior of the varray and nested table tests is exactly as expected. Without the exception handling code, ORA-06502 is reported with a ORA-06512 for Line 9. And with the exception handling code, ORA-06502 is caught and nicely reported, and the program completes with no unhandled error.

However, IBBI_Test_1 runs without error and prints out 42. This is clearly a bug. Null is not a value. Rather, it's an indicator that expresses that the value is unknown.

Now it gets worse. IBBI_Test_2 simply adds the identical exception handler code for ORA-06502 around [v(null) := 42;] that Varray_Test_2 and Nested_Table_Test_2 use. But at run-time, we get this:
 
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: NULL index table key value
ORA-06512: at "USR.IBBI_TEST_2", line 13
ORA-06512: at line 1

And finally, it gets worse still. IBBI_Test_3 adds more exception handling code. This time around [a := v(null);]. At run time, ORA-06502 is now obligingly caught at both [ v(null) := 42; ] and [ a := v(null); ].

------ Testcase ------
 
alter session set Plsql_Warnings = 'Enable:All'
/
 
create procedure Varray_Test_1 authid Definer is
  type t is varray(10) of pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
  -- PL/SQL: numeric or value error: NULL index table key value
  ORA_06502 exception; pragma Exception_Init(ORA_06502, -06502);
begin
  v(null) := 42; -- Line 9
end Varray_Test_1;
/
begin Varray_Test_1(); end;
/
 
create procedure Varray_Test_2 authid Definer is
  type t is table of pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
  -- PL/SQL: numeric or value error: NULL index table key value
  ORA_06502 exception; pragma Exception_Init(ORA_06502, -06502);
begin
  begin
    v(null) := 42;
  exception when ORA_06502 then
    DBMS_Output.Put_Line('ORA-06502 on "v(null) := 42"');
  end;
end Varray_Test_2;
/
begin Varray_Test_2(); end;
/
 
create procedure Nested_Table_Test_1 authid Definer is
  type t is table of pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
  -- PL/SQL: numeric or value error: NULL index table key value
  ORA_06502 exception; pragma Exception_Init(ORA_06502, -06502);
begin
  v(null) := 42; -- Line 9
end Nested_Table_Test_1;
/
begin Nested_Table_Test_1(); end;
/
 
create procedure Nested_Table_Test_2 authid Definer is
  type t is table of pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
  -- PL/SQL: numeric or value error: NULL index table key value
  ORA_06502 exception; pragma Exception_Init(ORA_06502, -06502);
begin
  begin
    v(null) := 42;
  exception when ORA_06502 then
    DBMS_Output.Put_Line('ORA-06502 on "v(null) := 42"');
  end;
end Nested_Table_Test_2;
/
begin Nested_Table_Test_2(); end;
/
 
create procedure IBBI_Test_1 authid Definer is
  type t is table of pls_integer index by pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
begin
  v(null) := 42;
  a := v(null);
  DBMS_Output.Put_Line(a);
end IBBI_Test_1;
/
begin IBBI_Test_1(); end;
/
 
create procedure IBBI_Test_2 authid Definer is
  type t is table of pls_integer index by pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
  -- PL/SQL: numeric or value error: NULL index table key value
  ORA_06502 exception; pragma Exception_Init(ORA_06502, -06502);
begin
  begin
    v(null) := 42;
  exception when ORA_06502 then
    DBMS_Output.Put_Line(q'{ORA_06502 on "v(null) := 42"}');
  end; -- Line 13
  a := v(null);
  DBMS_Output.Put_Line(a);
end IBBI_Test_2;
/
begin IBBI_Test_2(); end;
/
 
create procedure IBBI_Test_3 authid Definer is
  type t is table of pls_integer index by pls_integer;
  v t;
  a pls_integer;
  n pls_integer;
  -- PL/SQL: numeric or value error: NULL index table key value
  ORA_06502 exception; pragma Exception_Init(ORA_06502, -06502);
begin
  begin
    v(null) := 42;
  exception when ORA_06502 then
    DBMS_Output.Put_Line(q'{ORA_06502 on "v(null) := 42"}');
  end;
  begin
    a := v(null);
  exception when ORA_06502 then
    DBMS_Output.Put_Line(q'{ORA_06502 on "a := v(null)"}');
  end;
  DBMS_Output.Put_Line(a);
end IBBI_Test_3;
/
begin IBBI_Test_3(); end;
/