Bonjour à tous,
j'ai des doublons dans une table D_FUNCTION, et je souhaite les éliminer afin qu'il ne reste qu'un exemplaire de chaque ligne.
Ma requète utilise pour cela une table temporaire T_DOUBLON_TEMP :
Mon code semble pourtant bon, mais j'obtiens les erreurs suivantes :
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 SELECT DISTINCT ( NAME_FUNCTION, CREATE_DATE, UPDATE_DATE, LOGIN_USER, LOGIN_USER_UPDATE ) INTO T_DOUBLON_TEMP FROM D_FUNCTION GROUP BY NAME_FUNCTION, CREATE_DATE, UPDATE_DATE, LOGIN_USER, LOGIN_USER_UPDATE HAVING COUNT(*) > 1; DELETE FROM D_FUNCTION d WHERE EXISTS( SELECT * FROM D_FUNCTION d2 WHERE d.NAME_FUNCTION = d2.NAME_FUNCTION AND d.CREATE_DATE = d2.CREATE_DATE AND d.UPDATE_DATE = d2.UPDATE_DATE AND d.LOGIN_USER = d2.LOGIN_USER AND d.LOGIN_USER_UPDATE = d2.LOGIN_USER_UPDATE GROUP BY NAME_FUNCTION,CREATE_DATE,UPDATE_DATE,LOGIN_USER,LOGIN_USER_UPDATE HAVING COUNT(*) > 1); INSERT INTO D_FUNCTION SELECT NAME_FUNCTION,CREATE_DATE,UPDATE_DATE,LOGIN_USER,LOGIN_USER_UPDATE FROM T_DOUBLON_TEMP; DROP TABLE T_DOUBLON_TMP;
Je ne comprend pas, j'ai revérifier ma syntaxe avec mes sources (livre et cours) et je ne vois pas ce qu'il manque...Erreur commençant à la ligne 1 de la commande :
SELECT DISTINCT NAME_FUNCTION, CREATE_DATE, UPDATE_DATE, LOGIN_USER, LOGIN_USER_UPDATE
INTO T_DOUBLON_TEMP
FROM D_FUNCTION
GROUP BY NAME_FUNCTION, CREATE_DATE, UPDATE_DATE, LOGIN_USER, LOGIN_USER_UPDATE
HAVING COUNT(*) > 1
Erreur à la ligne de commande : 2, colonne : 7
Rapport d'erreur :
Erreur SQL : ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:
0 rows deleted
Erreur commençant à la ligne 18 de la commande :
INSERT INTO D_FUNCTION
SELECT NAME_FUNCTION,CREATE_DATE,UPDATE_DATE,LOGIN_USER,LOGIN_USER_UPDATE
FROM T_DOUBLON_TEMP
Erreur à la ligne de commande : 20, colonne : 7
Rapport d'erreur :
Erreur SQL : ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Erreur commençant à la ligne 22 de la commande :
DROP TABLE T_DOUBLON_TEMP
Rapport d'erreur :
Erreur SQL : ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Quelqu'un aurait-il une idée ?
D'avance merci
Partager