dbwizard
-
Gesamte Inhalte
303 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von dbwizard
-
-
Einen Paramter in einer Prozedur übergeben und anschliessend in einem SQL verwenden kannst du folgendermassen :Also, ich habe da eine Abfrage, der ich einen Wert übergeben muss - so was wie in der Art:select * from blabla where id=<übergabeparameter>
Meine Idee: Eine Funktion bauen, der ich den Parameter übergebe und dann den SQL-Befehl ausführen lasse. Dabei soll eine View erzeugt, die den Select-Befehl beinhaltet. Kannst Du mir vielleicht ein Beispiel dafür geben?PROCEDURE my_procedure ( i_n_MyParameter IN NUMBER) IS BEGIN SELECT * FROM My_Table WHERE ID = i_n_MyParameter ; END; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN; END;
- Alternativ kanst du auch dynamisches SQL verwenden, wenn du erst zur Laufzeit weisst, wie der SQL aussieht
Gruss
-
@ dbwizard
danke schon mal für Deine Hilfe. Nun habe ich bei folgender Prozedur Probleme:
Ich vermute, dass ich dieselben Fehler mache, oder? Könntes Du mir da noch mal helfen? Vielen Dank.
Na ja, Beschreibe doch mal, was eigentlich deine Absicht ist, der Cursor ist so nicht gültig.
Gruss
-
die views werden bei "einfachen" abfragen denke ich mal auch recht überflüssig sein, die würd ich dann auch gleich durch ne stored procedure ersetzen.
- Hat irgendwie nichts miteinander zu tun ? Views kaspeln SQL, du kannst diese durchaus auch in SP verwenden, macht durchaus Sinn
Gruss
-
Hallo,
ich probier gerade an einer Prozedur rum:
Erst bekomm ich die Meldung, dass die Prozedur mit Kompilierungsfehlern erstellt wurde. Folgende Fehler werden mir angezeigt:
Was mache ich da falsch?:confused:
- Das Declare kannst du dir sparen
Deine Struktur ist noch unvollständig :
create or replace procedure f_verk (i_f_id IN number, i_verkauft IN number)
--> IS
cursor c_paint(i_paint_id IN farbe.f_id%type) is
select f_am_lager from farbe where f_id=i_paint_id;
l_qty farbe.f_am_lager%type;
begin
error_code number := SQLCODE;
error_mes varchar2(200) := SQLERM;
....
....
END;
Gruss
-
Hey Leute,
.... ,34,56); .....
Hallo,
Dies dürfte das Problem sein, die Zahl wird wegen dem Trennzeichen als 2 getrennte Values angesehen.
Gruss
-
Datenbankinhalte
Hallo,
Es hängt davon ab, welche DB du benutzt. Du wirst dir ein dynamisches SQL aufbauen müssen, welches im Datadictionary nach den zu durchsuchenden Tabellen und Spalten sucht und diese abfragt
Gruss
-
Gibt es eine Möglichkeit, vorher, bevor die eigentliche Abfrage beginnt, zu prüfen ob die Abfrage in der richtigen Datenbank ausgeführt wirdWenn ja wie?
mfg
Hallo,
Das hängt von deiner verwendeten Datenbank ab ? Welche Version benutzt du den ?
-
Hi,
Ich möchte also abfragen, welcher Satz den Wert aus Feld1 auch in Feld2 stehen hat, bekomme das aber mit dem Wildcard nicht hin:
Danke für die Hilfe!
Hallo,
Du kannst dies mit REGEXP lösen. Mal ein Beispiel für die Suche :
SELECT CASE WHEN REGEXP_LIKE (Feld2, Feld1,'c') THEN 'Match Found' ELSE 'No Match Found' END AS output FROM MyTable;
Hinweis : Der Parameter 'c' steht für CaseSensitive, alternativ wäre auch ein 'i' (CaseInsensitive) möglich
Gruss
-
Hallo liebe kompetente Forengemeinde,
ich habe zwei Instanzen auf unserem Oracle-Server laufen: Einmal Instanz ECHT_DB und einmal ENTW_DB. Nun möchte ich von der ECHT_DB einen export durchführen (nur die Tabellen mit Daten). Wie kann ich dem Export-Programm mitteilen, dass ich gerne von der ECHT_DB den Export machen möchte? Vielen Dank schon mal für die Antworten.
Hallo,
Du musst ja die Instanz und das Schema jeweils als Parameter für Datapump mit angeben ? Poste doch mal deine Aufruf des Exports
Gruss
-
Das ist doch die Antwort auf die erste Frage.
Ich will aber zwischen 1995 und 03 ein / haben.
Im MOment ist es ja nur 199503
- Einfach eine Kombination LEFT und RIGHT plus ein CONCAT_WS für das "/" ? Habe jetzt gerade keine MYSQL am laufen, um es dir auszuschreiben...
Gruss
-
Ich arbeite mit dem SQL Management Studio 2005 also mySqL.
In MySQL wäre dies die LEFT - Funktion. Ein kurzer Blick in die Doku :
MySQL :: MySQL 5.5 Reference Manual :: 11.5 String Functions
Gruss
-
Ich habe ein ähnliches Problem. Es gibt ein string-Feld in der Datenbank
in dem der Monat und das Jahr so drin stehen: 199503. Nun möchte
ich es aber auf dem Textfeld so sehen 1995/03. Wie drücke ich das mit SQL aus?
Zu dem ersten Problem...
Kannst du da nicht einfach die FieldLenght auf 4 begrenzen?
Hallo.
ihr habt beide eine Designfehler in eurer Datenbank. Datumswerte dürfen NUR mit Typ DATE gespeichert werden, alles andere ist Unsinn.
Um das Problem jeweils nun konkret zu lösen, müsstet ihr eure Datenbankversion bekanntgebebn, da sich die Lösung je nach verwendetem System unterscheidet
Gruss
-
Kann es vielleicht sein, dass die DB nur ein einzige Tabelle mit allen Informationen enthält?
-Dann war ein Java Programmierer am Werk... :-)
*wegrenn...*
-
Ich habe das mit "PHPMyAdmin" exportiert. Meintest du das?
Da dann auf "Exportieren" geklickt, "SQL" links gelassen, unten "Senden" angeklickt, und keine Kompression. Runtergeladen
Hi,
hast du BLOB's in deiner Tabelle ?
Gruss
-
Im Buch "Oracle APEX und Oracle XE in der Praxis".
Das würde ich gerne sehen :-)
Gruss
-
hi,
allgemein so etwas wie "DELETE Faxnummer FROM [Tabelle] WHERE ...
grüße von ipu
...und das soll funktionierern ?
Gruss
-
Sql
in Datenbanken
Der sinn ist das wir lernen Funktionen zu schreiben . Die genaue Aufgabenstellung lautete :Schreiben Sie eine Funktion mit dem Namen "monatsname()". Die Funktion soll den aktuellen Monatsnamen in deutsch zurückliefern.
Da ich momentan noch am Anfang bin was Datenbanken angeht kann ich verstehen das die Aufgabenstellung noch sehr simpel ist um erstmal ein Gefühl für die Syntax zu bekommen .
LG
Die DB, welche du verwendest wäre noch hilfreich....Also in Oracle wäre diese Funktion folgendermassen :
FUNCTION monatsname RETURN VARCHAR2 is l_sResult VARCHAR2(15); BEGIN SELECT TO_CHAR (SYSDATE, 'MONTH') INTO l_sresult FROM DUAL; RETURN (l_sresult); END;
Gruss
-
Sql
in Datenbanken
deine Funktion da versteh ich eh nicht, du übergibst ein datum um dann den aktuellen monatsnamen auszugeben??
Ja, dass wollte doch der OP ?
Gruss
-
Sql
in Datenbanken
Hi Jungs ,ich möchte in sql eine Funktion schreiben die mit die monate als name ausgibt
LG LordPalme
Hallo,
Zumindest in Oracle könntest du folgendes machen :
SELECT to_char(SYSDATE,'MONTH') FROM dual
Gruss
-
Habt ihr hier ne Ahnung. Der Zugriff ist ganz und gar nicht unabhängig vom Modell, und auch nicht vom System.
Hallo,
Kannst du mir mal ein konkretes Beispiel für eine "Nur Intranet" oder "Nur Internet" DB geben ? Meiner Meinung nach liegst du, wie Flashpioxx dir schon geschrieben hat, falsch, aber ich lasse mich gerne belehren
Gruss
-
Leider nicht, die Ecke der Datenbank wird nicht so oft durchwühlt. Die zu ändernden Spalten sind auch normalerweise nicht in Abfragen einbezogen
Dann würde ein Index auf dies Spalte + Genererieren der Statistiken helfen, denke ich
Gruss
-
Hi,
Also, dass er nur 1x über den gesamten Bestand gejagt wird. Gibts sowas?
BTW: is ne 10'er Oracle DB.
Die Frage wäre vielmehr, warum ein einzelner Update so langsam ist. Wird pro Update nur jeweils 1 Row geändert ? Liegt auf der zu Updaten Spalte ein Index ?
Gruss
-
wie bekomme ich dann die ID von n2 z.B?
Hat jemand ne Idee?
Danke für eure Hilfe.
Hallo,
ich bin mir nicht sicher, ob ich dich richtig verstanden habe, aber so sollte es gehen :
SELECT id FROM myTable WHERE name = 'n2'
Gruss
-
Hallo
Leider hab ich keine Ahnung, welche Angaben bei der registrierung notwendig sind.
LG
paka
Hallo,
Das sind definitiv Oracle Verbindungsdaten...das wird so mit MySQL nicht funktionieren.
Gruss
MySQL aus n Zeilen eine machen (kombinieren)
in Datenbanken
Geschrieben
Das Stichwort Subselect, wie Dimitri es schon erwähnt hatte, nutzt dir nichts. Anbei ein Link, welcher dir für MySQL ein Beispiel liefert :
MySQL/Pivot table - Wikibooks, collection of open-content textbooks
(Bin aber auch nicht MYSQL Experte :-))
Gruss