Zum Inhalt springen

Tedi

Mitglieder
  • Gesamte Inhalte

    23
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Liebe Informatiker, Ich brauche euch bitte. Meine Funktion wirft mir über die Applikation folgende Fehler vor: Ora-06502: PL/SQL: numerischer oder Wertefehler: Zeichenfolgenpuffer zu klein. Wie kann ich die Funktion am sinnvollsten Debuggen um den Fehler zu lokalisieren. Ich habe versucht einige Variable und DB-Felder zu vergrößern. Leider ohne Erfolg. Danke
  2. Tausend Dank. Das war der Fehler
  3. Hallo Zusammen! Ich brauche bitte eure Hilfe. Ich habe die folgende Funktion create or replace function mafct(error out varchar2, mois_cmpt in varchar2, cercle in varchar2, typ in varchar2) RETURN BOOLEAN IS ptr number; BEGIN if typ != 'M' or typ != 'E' then Dbms_Output.Put_Line(typ ); ptr:=ptr+1; insert into protocol values(' typ falsch '||typ ||' Bitte M ou E eingeben',null,null,null,ptr); error:='typ falsch '||typ ||' bitte MBitte eingeben'; commit; Dbms_Output.Put_Line(typ); return (FALSE); end if; return true END; Wenn ich die Funktion zum Testen aufrufe declare X boolean; error varchar2(255); begin X:= mafct (error , '01.2025', 'AZ', 'E'); end; Ich habe in meine Protokoll Tabelle einen Fehler, dass der Typ falsch wäre. Warum funktioniert den einfachen Vergleich nicht? Danke
  4. Hallo Whiz-zarD, erstmal danke für deine Antwort. Du hast recht, meine Text War nicht so klar. Entschuldigung. Die DB habe ich so übernommen und muss erstmal damit arbeiten. Zu dem Insert into select bin ich schon son selber drauf gekommen wo ich einen Denkfehler habe ist wenn ich die richtigen Zeile auswählen muss und die anderen, die nicht aktualisiert werden müssen ausschließen.
  5. Hallo ihr Lieben, Ich habe (vielleicht eine doffe Frage ?) aber ich komme einfach nicht auf die Idee. Ich habe eine Tabelle mit 4 Spalten (darunter eine seq). username|spezialitaet|id |doc_seq doc1 |Chirurg |doc1_id| 1 doc2 |Kardiologue |doc2_id| 2 doc2 |Chirurg |doc2_id| 3 doc3 |internist |doc3_id| 4 doc4 |Chirurg |doc4_id| 5 Ich möchte alle doc, die Chirurg eine neue Zeile " Kardiologue" verpassen sofern sie die Zeile noch nicht haben so wie doc_2. Die Spalte "doc_seq" ist eine ganz normale Sequenz. Danke vielmals für eure Hilfe.
  6. Hallo, Wie kann ich in oracle für mehrere user gleichzeitig ein Default passwort definieren? Problem ist ich muss mit de "alter user" Befehl immer ein bestimmter User spezifizieren. Danke
  7. Danke Whiz-zarD. Leider funktioniert das Merge nicht indem die fehlenden "compag" Zeilen nicht eingefügt werden. Das insert löst mein Problem mit der Sequenz nicht so wirklich. Weil du holst ja die seq.nextval aus orcl1. Was mache ich mit meiner Sequenz auf orcl2? Danke
  8. Danke Whiz-zarD. Leider funktioniert das Merge nicht indem die fehlenden "compag" Zeilen nicht eingefügt werden. Das insert löst mein Problem mit der Sequenz nicht so wirklich. Weil du holst ja die seq.nextval aus orcl1. Was mache ich mit meiner Sequenz auf orcl2? Danke
  9. Hallo Sylenz Danke für deine Antwort. Ich habe an pl sql gedacht, weil ich die Sequenz auch berücksichtigen muss. Aber wenn es anders geht dann gerne.
  10. Lieber Whiz-zarD Danke!! Ich habe inzwischen die meine ErgebnisMenge bekommen können. Zum Einfügen habe ich mir eine Funktion geschrieben, die leider noch nicht so tut was sie soll. ***** Korrektur: ich hatte vorhin die Spalte in beiden Tabellen die Spalte seq vergessen. Daher nochmal die TabellenStruktur. **** create or replace function comp (p_error OUT VARCHAR2) RETURN BOOLEAN is cursor compa_cur is select * from compag_orcl1@orcl1 c1 where c1.compag like 'C%' and not exists (select 1 from compag_orcl2 c2 where c1.username = c2.username and c1.id = c2.id and c1.compag = c2.compag); compa_tmp compa_cur%ROWTYPE; begin open compa_cur ; loop fetch compa_cur into compa_tmp; exit when compa_cur%NOTFOUND; insert into compag_orcl2 (USERNAME, compag, id, Seq) values (compa_cur.username, compa_cur.compag, compa_cur.id, Seq_cmp.nextval); commit; end loop; close compa_cur; return true; end comp; compag_orcl1 username | id | compag| seq -------------------------------------- USER1 |us1id1| CMR| 123 USER1 |us1id1| RWD| 456 USER1 |us1id1| SING| 789 USER1 |us1id1| CNG | 1011 ------------------------------------ USER2 |us2id2| SEN | 1213 USER2 |us2id2| CND | 1415 USER2 |us2id2| CGT | 1617 USER2 |us2id2| CNG | 1819 USER2 |us2id2| KPG | 2021 ------------------------------------ USER3 |us3id3| RWD| 2223 USER3 |us3id3| CND | 2425 USER3 |us3id3| CID | 2627 USER3 |us3id3| CNG | 2829 USER3 |us3id3| SING| 3031 und die Kopie auf orcl2 compag_orcl2 username | id | compag |seq ------------------------------------- USER1 |us1id1| RWD|0010 USER1 |us1id1| SING|0011 USER1 |us1id1| CNG |0012 ------------------------------------ USER2 |us2id2| SEN|0013 USER2 |us2id2| CNG|0014 USER2 |us2id2| KPG|0015 ----------------------------------- USER3 |us3id3| RWD|0016 USER3 |us3id3| CND|0017 USER3 |us3id3| SING|0018
  11. An Alle nochmal einen dicken DANKE. Es tut mir leid dass ich euch unnötig aufgehalten habe. Nach genauerem Hinschauen habe ich festgestellt, dass die benötigten Daten ab dem jahr 2018 in einer anderen Spalte hingeschrieben werden. Warum auch immer. -( Sorry.
  12. Die Spalte 'Sokat'. Ich multipliziere 'Einzahlung' mit decode ( plm. . ) danach trage ich die Summe in sokat

Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung