Fiche TD1 : Les curseurs & les fonctions PL/SQL

1/1
100%

Année Universitaire

2018-2019

Fiche TD1 : Les curseurs & les fonctions PL/SQL

Créez une table TRANCHE avec les quatre tranches suivantes :

| | | |

| --- | --- | --- |

| Minimum | Maximum | Pourcentage |

| 0 | 5000 | 0 |

Publicité

| 5001 | 9000 | 10 |

| 9001 | 12000 | 20 |

| 12001 | | 30 |

Cette table indique, par exemple, que l'impôt sur un salaire de 13000 DT sera (de 1300 DT) calculé ainsi

:

10% de (9000 - 5000) = 400

20% de (12000 - 9000) = 600

30% de (13000 - 12000) = 300

Publicité

4.1. Pour faciliter le calcul des impôts, vous ajouterez à la table TRANCHE une colonne cumul antérieur (CUMULANT)

contenant la valeur cumulée des tranches inférieures. Ainsi, la table contiendra les valeurs suivantes:

| | | | |

| --- | --- | --- | --- |

| Minimum | Maximum | Pourcentage | Cumulant |

| 0 | 5000 | 0 | 0 |

| 5001 | 9000 | 10 | 0 |

| 9001 | 12000 | 20 | 400 |

Publicité

| 12001 | | 30 | 1000 |

On calculera ainsi plus rapidement les impôts. Par exemple, pour un salaire de 13000 DT, l'impôt est:

1000 + 30% \*(13000 - 12000) = 1300 DT.

Etendre la table TRANCHE par cette nouvelle colonne.

4.2. Ecrire un bloc PL/SOL anonyme pour remplir automatiquement la colonne CUMULANT de cette table.

4.3. Ecrire une fonction booléenne INSERT \_TRANCHE (p\_min, p\_pourcent) permettant d'insérer une nouvelle tranche d'impôt à la table TRANCHE avec:

a. Contrôle de non nullité des paramètres.

b. La tranche à créer est disjointe avec toutes les autres tranches de la table.

Publicité

c. Mise à jour de la colonne maximum de l'ancienne dernière tranche et calcul du cumul antérieur

(CUMULANT) de la nouvelle tranche.

La fonction doit retourner la valeur FALSE en cas de problème quelconque.

4.4. Ecrire un bloc PL/SOL anonyme pour tester la fonction avec les valeurs 15001 et 10 pour p\_min et p\_pourcent respectivement.

Fiche TD1 : Les curseurs & les fonctions PL/SQL

Programming, Math, PL/SQL, Tax Calculation · course

Voir tous les documents en bases de données

Année Universitaire

2018-2019

Fiche TD1 : Les curseurs & les fonctions PL/SQL

Créez une table TRANCHE avec les quatre tranches suivantes :

| | | |

| --- | --- | --- |

| Minimum | Maximum | Pourcentage |

| 0 | 5000 | 0 |

Publicité

| 5001 | 9000 | 10 |

| 9001 | 12000 | 20 |

| 12001 | | 30 |

Cette table indique, par exemple, que l'impôt sur un salaire de 13000 DT sera (de 1300 DT) calculé ainsi

:

10% de (9000 - 5000) = 400

20% de (12000 - 9000) = 600

30% de (13000 - 12000) = 300

Publicité

4.1. Pour faciliter le calcul des impôts, vous ajouterez à la table TRANCHE une colonne cumul antérieur (CUMULANT)

contenant la valeur cumulée des tranches inférieures. Ainsi, la table contiendra les valeurs suivantes:

| | | | |

| --- | --- | --- | --- |

| Minimum | Maximum | Pourcentage | Cumulant |

| 0 | 5000 | 0 | 0 |

| 5001 | 9000 | 10 | 0 |

| 9001 | 12000 | 20 | 400 |

Publicité

| 12001 | | 30 | 1000 |

On calculera ainsi plus rapidement les impôts. Par exemple, pour un salaire de 13000 DT, l'impôt est:

1000 + 30% \*(13000 - 12000) = 1300 DT.

Etendre la table TRANCHE par cette nouvelle colonne.

4.2. Ecrire un bloc PL/SOL anonyme pour remplir automatiquement la colonne CUMULANT de cette table.

4.3. Ecrire une fonction booléenne INSERT \_TRANCHE (p\_min, p\_pourcent) permettant d'insérer une nouvelle tranche d'impôt à la table TRANCHE avec:

a. Contrôle de non nullité des paramètres.

b. La tranche à créer est disjointe avec toutes les autres tranches de la table.

Publicité

c. Mise à jour de la colonne maximum de l'ancienne dernière tranche et calcul du cumul antérieur

(CUMULANT) de la nouvelle tranche.

La fonction doit retourner la valeur FALSE en cas de problème quelconque.

4.4. Ecrire un bloc PL/SOL anonyme pour tester la fonction avec les valeurs 15001 et 10 pour p\_min et p\_pourcent respectivement.