Bonjour,

J'ai une table (on ne peut plus basique)
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
-- Create table
create table TEMP_TEST_TABLE
(
  KEY_ID     CHAR(6) not null,
  CISC_DATE      DATE not null
)
tablespace LPAS_DATA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 60M
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table TEMP_TEST_TABLE
  add constraint TEMP_TEST_TABLE_PK primary key (KEY_ID)
  using index 
  tablespace LPAS_INDEX
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 41600K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate indexes 
create index TEMP_TEST_TABLE_CISC_DATE on TEMP_TEST_TABLE (CISC_DATE)
  tablespace LPAS_INDEX
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 26000K
    minextents 1
    maxextents unlimited
  );
J'essaie de la remplir, en ne mettant que la date (sans HH24:MI:SS) dans le champ CISC_DATE.

Lorsque passe par une procédure stockées et je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
DECLARE
   CURRENT_DATE date := TRUNC(SYSDATE);
BEGIN
   INSERT INTO temp_test_table SELECT '1', CURRENT_DATE FROM dual;
   CURRENT_DATE:=TRUNC(SYSDATE);
   INSERT INTO temp_test_table SELECT '2', CURRENT_DATE FROM dual;
   CURRENT_DATE:=to_date(to_char(trunc(SYSDATE),'DD/MM/YYYY')||' 00:00:00','DD/MM/YYYY HH24:MI:SS');
   INSERT INTO temp_test_table SELECT '3', CURRENT_DATE FROM dual;
   INSERT INTO temp_test_table SELECT '4', TRUNC(sysdate) from dual;
   COMMIT;
END;
je devrais avoir 4 fois la meme valeur dans le champ date (juste une date), n'est ce pas ?! Et ben non, en fait j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
select t.* from temp_test_table t;
 
KEY_ID	CISC_DATE
1     	18/10/2010 14:13:42
2     	18/10/2010 14:13:42
3     	18/10/2010 14:13:42
4     	18/10/2010
Etrange, n'est-il pas.

Quelqu'un a une explication et une solution ?
Comment assigner une valeur date à une variable de type DATE, une date sans HH24:MI:SS ???

Note : cela fonctionnait très bien sur oracle 8, depuis qu'on est passé à Oracle 10, rien ne va plus...