[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