Tedi
-
Gesamte Inhalte
32 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Tedi
-
-
-
Sorry @Whiz-zarD
Hier ein Stück Code
Bestellung Nummer;
Vorrat Number;
Best_nr Number;
Op varchar2 (1);
If op = '-'
Then
Select menge into Bestellung from mytab where best_nr = nr;
If Bestellung < Vorrat then
Err := 'nicht genug ware im lager';
Return (false);
End if;
End if ;
-
Hallo Zusammen,
ich habe ein Problem mit meine Applikation Lagerverwaltung.
Bei der Warenbestellung habe ich minus-Werte und trotzdem sin Bestellungen möglich.
wie kann ich das korrigieren
Danke
-
vor 2 Stunden schrieb Whiz-zarD:
Du musst im SQL Developer die DBMS-Ausgabe aktivieren. Unter Ansicht => DBMS-Ausgabe.
Im neuen Fenster musst du dann eine neue Verbindung aufbauen.
Ja ist alles schon gemacht. Deswegen habe ich es auch im Titel angegeben
-
Hallo,
ich versuche wie folgt eine stored function in sqldev auszuführen, jedoch ohne Erfolg
SET serveroutput on; declare r boolean r:= meine_fct(1212212, to_date('30.06.2022', 'dd.mm.yyyy'), 'X', to_date('01.11.2018', 'dd.mm.yyyy'), to_date('31.03.2023','dd.mm.yyyy'), 19, 'Y', Outparam1,-- IN OUT Parameter Outparam2,-- IN OUT Parameter 1, to_date('28.02.2023', 'dd.mm.yyyy')); dbms_output.enable; dbms_output.put_line(Outparam1); dbms_output.put_line(Outparam2); END;
leider erhalte ich für die Funktion keine Ausgabe. Das Einzige, was sqldev mir ausspuckt ist: PL/SQL-Prozedur erfolgreich abgeschlossen.
Ich hätte jedoch gerne eine Ausgabe gehabt um zu wissen ob die Funktion richtig berechnet.
Die DBMS-Ausgabe ist an.
Ich bedanke mich für jede Hilfe
-
Danke Sehr für deine Hilfe Tobi.
War kein Blödsinn ganz im Gegenteil😉
-
Hallo an Alle
Ich hätte gern ein Tipp um besser zu selektieren.
Ich habe die folgende Tabelle
correspondance Article | Dept A1 | 123 A1 | 456 A1 | 987 A2 |456 B1 | 123 B1 | 987 C3| 123
Ich möchte alle Artikel aus dept 123 ohne die aus dept 456
select * from correspondance where dept = '123' and dept != '456';
ich dachte ich würde sowas bekommen
Article | Dept B1 | 123 C3 | 123
stattdessen habe ich folgendes
Article | Dept A1 | 123 B1 | 123 C3| 123
Den Select habe ich auch probiert ohne Erfolgt
select * from correspondance where dept = '123' and article in( select article from correspondance where dept = '123' or dept = '456');
Danke für eure Hilfe
-
Hallo,
Ich habe eine Kopie einer Tabelle von meiner haupdb auf einer testdB erstellt
create table TheCopy as (select * from MySource@hauptdb)
Nun tue ich folgendes
truncate table TheCopy
insert into TheCopy select * from MySource@hauptdb
Ich bekomme den Fehler
ORA-00932:Inkonsistente Datentypen: NUMBER erwartet,DATE erhalten
Was ich gar nicht verstehe, weil die Tabellen von der Struktur genau gleich sind.
Ich bin für jede Hilfe oder Tipp dankbar.
-
Danke schön
-
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
-
Tausend Dank. Das war der Fehler
-
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
-
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.
-
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.
-
Vielen Dank Whiz-zarD
-
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
-
Danke Whiz-zarD.
Es hat mit dem insert wunderbar geklappt.
-
vor 19 Stunden schrieb Whiz-zarD:
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
-
vor 17 Stunden schrieb Whiz-zarD:
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
-
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.
-
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
-
-
vor 6 Minuten schrieb Whiz-zarD:
Was meinst du mit "aggregierte Spalte"?
Einzelne Spalten aggregieren kannst du nicht. Mir ist auch nicht klar, was du mit dem Decode() erreichen möchtest. Für mich sieht auch die Syntax komplett falsch aus.Die Spalte 'Sokat'. Ich multipliziere 'Einzahlung' mit decode ( plm. . ) danach trage ich die Summe in sokat
-
vor 11 Minuten schrieb Whiz-zarD:
Wenn du Oracle verwendest, kannst du die extract()-Funktion benutzen, um das Jahr aus einem Datum zu extrahieren.
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions050.htmDann lautet die Where-Klausel:
WHERE EXTRACT(YEAR FROM ZEIT) = 2018
Wie ich schon sagte, deine Where-Klausel ist nicht korrekt, wenn sie über das gesamte Jahr gesehen soll.
Hast du überhaupt schon mal die Datensätze angeschaut, ob du überhaupt Datensätze vom 01.01.2018 bis 01.12.2018 hast?
Danke.
Ich habe die Abfrage mit EXTRACT gemacht. Die aggregierte Spalte ist immer noch null.
Ja ich habe mir die DS. vom Jahr 2018 angeschaut. Und die gibt es
minus-Werte bei der Bestellung
in Datenbanken
Geschrieben
@Whiz-zarD danke. Das hatte ich z.B. übersehen. Ich werde es korrigieren.
Ist es alles was meiner Funktion fehlen würde?
Danke