Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2007, 14h21   #1
Invité de passage
 
Inscription : mai 2007
Messages : 1
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2007
Messages : 1
Points : 0
Points : 0
Envoyer un message via ICQ à Salmiok Envoyer un message via MSN à Salmiok
Par défaut [Probleme Format] Trigger Oracle 10g

Bonjour,

voici le contexte :
Une base peoplesoft X qui via des triggers mets a jour des données salariés sur un autre serveur.
Je passe par un tableau en SQL (via une application propre a PeopleSoft)
Du type :
DECLARE CURSOR xbox IS
SELECT cname
, coltype
FROM col
WHERE tname = '%Table(%Bind(SPI_SPLIT_2_AET.RECNAME))'; CURSOR clefs IS
SELECT fieldname
, keyposn
FROM pskeydefn
WHERE indexid = '_'
AND recname = %Bind(SPI_SPLIT_2_AET.RECNAME)
ORDER BY keyposn; TYPE tableau IS TABLE OF VARCHAR2(65) INDEX BY BINARY_INTEGER; mon_tableau tableau; mesclefs clefs%ROWTYPE; wii xbox%ROWTYPE; psx VARCHAR2(9999); gba VARCHAR2(9999); pce VARCHAR2(9999); trousseau VARCHAR2(9999); BEGIN mon_tableau(1) := %Bind(SPI_SPLIT_3_AET.KEY1); mon_tableau(2) := %Bind(SPI_SPLIT_3_AET.KEY2);

Le probleme vient, que certain de mes records sont des formats Char, et d'autre date.
Quand j'ai une date apres 2000, le transfert se fait, et quand c'est avant 2000, cela ne fonctionne pas. Traitement en succes, mais pas de modification.

J'ai un premier step :
ALTER SESSION
SET NLS_DATE_FORMAT ='DD/MM/YY'

si je change le format (cad YYYY-DD-MM ou DD/MM/YYYY) j'ai un message d'erreur :

SQL error. Stmt #: 1324 Error Position: 0 Return: 1858 - ORA-01858: a non-numeric character was found where a numeric was expected ORA-02063: preceding line from DRHDEV04 ORA-06512: at line 1

Avez vous une idée pour gerer le type de champ selon la donnée ?
Car c'est un tableau qui est utilisé par 100 Record qui forcement n'ont pas la meme construction.

Merci d'avance
Salmiok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 21h17   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
C'est mort je crains...

Si les données sont pas homogènes et que vous devez vous amuser à deviner quel est le format... on croit rêver !

vous pouvez essayer de deviner, mais une date 01/02/03, c'est quoi ? 1-Fev-2003 ? 2001-Mar-02 ? le QI du gars qui a fait l'export des données ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h35.


 
 
 
 
Partenaires

Hébergement Web