Source: http://cedric.cnam.fr/~ferecatu/NFA011/ED_Corrige_PLSQL.pdf