2016-10-28 5 views
1
nicht
exec altacliente('tor','156','mat','tor','409911',908,'295',(TO_DATE('2003/05/03','DD-MON-YYYY')),'Itau','42484130','argentina','Lomas de zamora','azara',(TO_DATE('2016/10/27','DD-MON-YYYY'))); 
Format-String-Orakel entspricht

Vorgehen:11g wörtliche

create or replace PROCEDURE   "ALTACLIENTE" (nusuario in varchar2, nclave in varchar2, nnombre in varchar2, napellido in varchar2,ntarjeta in varchar2,nncalle in number, 

codseguridad in varchar2, fechavenc Datum, empresatarj in varchar2, ntelefono in varchar2, pais in varchar2, localidad in varchar2, calle in varchar2 , fechahoy im Datum);

Informe de Fehler - ORA-01861: wörtliche Format nicht Zeichenfolge übereinstimmen ORA-06512: in Zeile 1 01861. 00000 - "wörtliche nicht Formatstring entsprechen" * Ursache: Literale im Eingangs sein muss die gleiche Länge wie Literale in die Formatzeichenfolge (mit Ausnahme der führenden Leerzeichen). Wenn der "FX" -Modifikator aktiviert wurde, muss das Literal exakt übereinstimmen, ohne zusätzliche Leerzeichen. * Aktion: Korrigieren Sie die Formatzeichenfolge, damit sie dem Literal entspricht.

Antwort

1

Offensichtlich ist das Format

TO_DATE('2003/05/03','DD-MON-YYYY') 

stimmt nicht überein.

Wie bereits von mathguy MON angegeben bedeutet "Abkürzter Name des Monats", nicht die Monatsnummer.

von Apart, dass das Format eine der folgenden sein sollte (da ich weiß nicht, ob Sie „3. Mai“ oder „5. März“ bedeuten)

TO_DATE('2003/05/03','YYYY/MM/DD') 
TO_DATE('2003/05/03','YYYY/DD/MM') 
TO_DATE('03-05-2003','DD-MM-YYYY') 
TO_DATE('05-03-2003','DD-MM-YYYY') 
TO_DATE('03-MAY-2003','DD-MON-YYYY') 
TO_DATE('05-APR-2003','DD-MON-YYYY') 
+0

Ha! Das MON-Ding sprang heraus und ich bemerkte nicht einmal, dass die Elemente in der falschen Reihenfolge waren. – mathguy

+0

Danke !, Gelöst <3 – Vanshii

2

Es ist die MON im Datumsformat-Modell. Das ist für JAN, FEB, MAR usw., oder was auch immer sie in der Sprache sind, die in den NLS-Einstellungen angezeigt wird.

Für numerischen Monat (03, 11) verwenden Sie MM statt MON.