salut
j ai une table dans ma base oracle qui contient un champ journee de type date
je veu avoir une methode pour que je puisse insere tous les journees d un mois donne dans cette table
salut
j ai une table dans ma base oracle qui contient un champ journee de type date
je veu avoir une methode pour que je puisse insere tous les journees d un mois donne dans cette table
Tu as la fontion LAST_DAY que devrais t'aider, elle te donne le dernier jour d'un mois pour une date donnée:
http://download-uk.oracle.com/docs/c...8a.htm#1000792
Tu peut partir du premier jour du mois (pas bien dur c'est toujour le 1) puis faire un faire une boucle d'insertion jusqu'au dernier jour (donné par la fonction ci dessus) en faisant "date_inseree := date_inseree + 1" à chaque occurence de boucle
En utilisant une petite table du dictionnaire dont l'accès en public en 10g, on peut générer facilement la liste des jours d'un mois avec une requête SQL sans PL/SQL:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 SQL> SQL> select trunc(sysdate, 'MM') + j as jour 2 from (select action j from audit_actions where action >= 0 and action <= 31) 3 where trunc(sysdate,'MM') + j < last_day(sysdate); JOUR --------- 01-OCT-06 02-OCT-06 03-OCT-06 04-OCT-06 05-OCT-06 06-OCT-06 07-OCT-06 08-OCT-06 09-OCT-06 10-OCT-06 11-OCT-06 JOUR --------- 12-OCT-06 13-OCT-06 14-OCT-06 15-OCT-06 16-OCT-06 17-OCT-06 18-OCT-06 19-OCT-06 20-OCT-06 21-OCT-06 22-OCT-06 JOUR --------- 23-OCT-06 24-OCT-06 25-OCT-06 26-OCT-06 27-OCT-06 28-OCT-06 29-OCT-06 30-OCT-06 31-OCT-06 31 rows selected.
Partager