
dr.dimitri
Mitglieder-
Gesamte Inhalte
1276 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von dr.dimitri
-
Welche Wirkung könnte das nachsehen der REPLACE Funktion in der Oracle-Doko haben? Was würde jemand erreichen wollen, der das einfach anhand eines kleinen Beispiels selbst nachvollzieht? Dim
-
Hi, Dein SQL kommt mir irgendwie komisch vor (mal von den schon erwähnten syntaktischen Fehlern): SELECT selektion.kndnr, xkundenadresse.vorname1, xkundenadresse.nachname1, xkundenadreses.dataupd FROM selektion xkundenadresse WHERE selektion.werbecode = 221000 AND selektion.kndnr = xkundenadresse.kndnr Warum verwendest Du mal einen Tabellenalias mal nicht Falls es sich bei xkundenadresse nicht um einen Alias handelt, dann fehlt ein , dazwischen, ansonsten ist das kein JOIN aber trotzdem syntaktisch korrekt. Dim
-
Was kommt auf mich zu, wenn ich Informatik studiert habe?
dr.dimitri antwortete auf hilado's Thema in IT-Arbeitswelt
Naja die Turing Maschine wird es auch nach dem Studium noch geben. Die mathematischen Grundlagen, Complierbau etc werden auch noch so bestehen bleiben. Meiner Meinung nach ist die IT Branche sowies lange nicht so schnelllebig wie sie es selbst immer von sich behauptet. In vielen Fällen ist es alter Wein in neuen Schläuchen. Und wirklich produktiv eingesetzt wird sowieso nur ein Bruchteil von dem was es alles gibt. Dim -
Frage bei Bewerbungsgespräch
dr.dimitri antwortete auf Saphir's Thema in Jobsuche, Bewerbung und Zeugnisse
Ja auf jeden Fall. Es ist besser sich nicht mit solchen Dingen zu beschäftigen und zu hoffen, dass niemand anderes es merkt. Mal im Ernst: In jeder Firma ist es wichtig solche Lücken zu erkennen. Und wenn es sich nicht grade um ein default Passwort gehandelt hat, dann kann man das schon erwähnen. Besser als: hey ich kann XP installieren. :uli Dim -
brauche dringend Access 2000 für die Schule
dr.dimitri antwortete auf Maxiskippy's Thema in Datenbanken
Evtl wär's auch eine Möglichkeit, dass Du das ganze mit Openoffice machst. Ist von der Oberfläche her relativ ähnlich und wenn Du kein VBA brauchst dann sollte das kein Problem sein. Die Skripte zum anlegen der Tabellen, Abfragen etc. speicherst dir und führst sie dann unter Access nochmal aus. Besser als nichts und der Lerneffekt was Datenbanken betrifft sollte identisch sein. Dim -
brauche dringend Access 2000 für die Schule
dr.dimitri antwortete auf Maxiskippy's Thema in Datenbanken
Aber nicht über die Ferien Dim -
brauche dringend Access 2000 für die Schule
dr.dimitri antwortete auf Maxiskippy's Thema in Datenbanken
Bei ebay gibt es noch einige Office 2000 Angebote. Kosten so ab 170 Euro. Dim -
Java - gutes Buch oder Online Tutorial zu empfehlen?
dr.dimitri antwortete auf Ganymed's Thema in Java
Ließ dieses Buch (das im übrigen als das deutschsprachige Standardwerk gilt), dann kannst deine tolle Applikation direkt selber schreiben. Dafür das Du es nicht mal gelesen hast weißt Du ja ziemlich gut bescheid über den Inhalt. Dim -
Java - gutes Buch oder Online Tutorial zu empfehlen?
dr.dimitri antwortete auf Ganymed's Thema in Java
www.javabuch.de - Das Handbuch der Java-Programmierung Dim -
Ich hab leider keine Ahnung was Du genau meinst. Eine Tabelle kann man nicht "anklicken". Erklär doch mal, was das für ein Programm ist, welche Datenbank Du verwendest etc. Dim
-
Nun ja C/C++ ist nun mal keine bildliche Sprache und die "In 21 Tagen "-Reihe ist soo schlecht auch wieder nicht. Vielleicht wär das was für dich. Dim
-
500 Euro für Lebensmittel? Welche Lebensmittel kaufst Du denn so? Dim
-
Schreib den generierten String doch in eine Tabelle. Dann kannst z.B. für jeden Tigger eine eigene Zeile anlegen und dir ggf. für genau einen bestimmten den String selektieren. Das CREATE kannst Du per execute immediate ausführen: execute immediate dein_trigger_string; Beachte aber, dass execute immediate Befehle maximal 32K lang werden dürfen. Dim
-
Was hat das mit SQL und Datenbanken zu tun? Der Code gehört doch eher ins Basic Forum. Dim
-
Grundsätzlich liegt das Urheberrecht bei der Person (juristisch oder natürlich) die das Programm implemetiert bzw. dafür bezahlt hat. Wie Du darauf kommst, dass Algorithmen generell Allgemeingut sind weiß ich nicht. Daher musst Du, wenn Du dich absichern willst, in jedem deiner Fälle sicherstellen, dass jedes der Werke von dir veröffentlicht werden darf. Dies kann durch eine expliziete schriftliche Erlaubnis des Rechteinhabers geschehen oder das Werk wurde bereits unter einer entsprechenden Lizenz veröffentlich (z.B. GPL). Dim
-
Vertrieb von privat entwickelter Software
dr.dimitri antwortete auf tobsen's Thema in IT-Arbeitswelt
Wegen dem Geld würd ich mir jetzt keine allzugroßen Sorgen machen. Ohne jetzt einen Aufruf zu einer Straftat machen zu wollen: Nimms einfach mit. Es werden ja keine Tausende von Euro damit umgesetzt werden. Viel mehr würde mir Sorgen machen, dass er es weiterverkaufen möchte und damit auch ein gewisser Supportaufwand entsteht (immerhin wurde ja dafür bezahlt und Bugs sind in jedem Programm). Dann kommen ggf. noch Änderungswünsche etc etc. Das solltest Du ebenfalls bedenken. Dim -
Naja ich kann das schon verstehen wenn er unzufrieden ist. Wenn ich mir hier die Projektarbeiten der FISIs so ansehe, dann erkenn ich den Aufgabenbereich eines FIAE überhaupt nicht wieder. Insofern könnte es da schon zu Problemen kommen, denn ich weiß nicht ob ein FISI als Abschlussprojekt das Anpassen eines SAP Systems einreichen kann. Virtuelle Maschienen hin oder her - wenn es als FISI nicht zu tun gibt, kannst ja evtl. drüber nachdenken den Zweig hin zur AE zu wechseln (sofern das möglich ist). Dim
-
Hinzugefügt wird nichts - in diesem Script wird nur die DDL generiert aber nicht ausgeführt. Dim
-
Wir verwenden einen eigenen Parser und Velocity Templates. Allerdings kann man damit auch noch ein bissl mehr machen. Für deine Zwecke kann man das mit einfachem PL/SQL generieren: CREATE OR REPLACE procedure create_triggerddl is l_triggerDDL VARCHAR2(32000); CURSOR c_tables is SELECT table_name FROM user_tables; CURSOR c_columns(p_tablename VARCHAR2) IS SELECT column_name FROM user_tab_cols WHERE table_name=p_tablename; l_tables c_tables%ROWTYPE; l_pkName varchar2(32); l_trigName VARCHAR2(30); BEGIN FOR l_tables IN c_tables LOOP --Name des PK herausfinden SELECT column_name INTO l_pkName FROM user_constraints a, user_cons_columns b WHERE a.constraint_name=b.constraint_name AND a.table_name=l_tables.table_name AND a.constraint_type='P'; --Den Trigger Stringenerieren l_trigName:='TRG_'||SUBSTR(l_tables.table_name,1,26); l_triggerDDL:='CREATE OR REPLACE TRIGGER '||l_trigName||CHR(13) || 'BEFORE DELETE ON '||l_tables.table_name||CHR(13) ||'FOR EACH ROW '||CHR(13)||'DECLARE' ||CHR(13) || 'l_histData varchar2(4000); '||CHR(13)||'BEGIN'||CHR(13); FOR l_columns IN c_columns(l_tables.table_name) LOOP l_triggerDDL:=l_triggerDDL||'l_histData:=l_histData||:OLD.'||l_columns.column_name||';'||CHR(13); END LOOP; l_triggerDDL:=l_triggerDDL||'INSERT INTO visman.visdat_log(cadid,tablename,loguser,logdate, fieldvalues)'|| 'VALUES(:OLD.'||l_pkName||','''||l_tables.table_name||''',USER,sysdate,l_histData);'||CHR(13)|| 'END '||l_trigName||';'||CHR(13)||'/'; END LOOP; --dbms_output.put_line(l_triggerDDL); --Geht nur ab 10g. Vorher ist die Länge auf 255 Zeichen beschränkt END; / Das sollte schon mal ein Grundgerüst sein, auf dem Du aufbauen kannst. Dim
-
Hi, darum habe ich ja auch gesagt generieren und nicht einzeln schreiben. Wir haben ca. 200 Tabellen und alle Trigger werden generiert. Aber seis drum ich muss ja nicht damit leben Zu Deinem Fehler: Du hast ein Komma zuviel: CREATE OR REPLACE PROCEDURE LogSachDat( p_CADID VARCHAR2 p_PKColumn VARCHAR2, p_TableName VARCHAR2), <----- IS Zum Execute immediate: Du solltest Bindvariablen verwenden: v_Statement := 'SELECT '||v_Column||' FROM '||p_TableName||' WHERE '||p_PKColumn||' = :1'; EXECUTE IMMEDIATE v_Statement INTO v_Value USING p_CADID; Dim PS: Das ändert natürlich nichts daran, dass Du, sofern Du keinen BEVORE Trigger verwendest nichts finden wirst. und es auch nicht notwendig ist, da Oracle schon alles liefert was Du brauchst.
-
Hi, versteh ich das richtig? Du versuchst den Datensatz der gerade aus der Tabelle gelöscht wurde zu selektieren? Logik? In einem Delete Trigger bekommst Du über die :OLD Variable immer alle Spalten und Werte automatisch geliefert - ein nachselektieren ist daher nicht nötig (und auch falsch). Machst Du soe twas im Trigger selbst, dann bekommst Du von Oracle direkt eine auf die Finger: ORA-04091: Table xyz is mutating, trigger/function may not see it Ausserdem halte ich es für extrem unperformant bei jedem delete aus all_tab_columns dynamisch ein SQL zusammenzubauen, welches dann wiederum nicht mal Bindvariablen verwendet. Wir verwenden auch Trigger zur Historisierung allerdings generieren wir uns für jede Tabelle einen spezifischen Trigger, der dann tabellenbezogen genau das macht was er soll - und zwar hartcodiert (bzw. hartgeneriert ). Dim PS: EXECUTE IMMEDIATE ist deutlich einfacher zu lesen als die Sachen aus dem DBMS_SQL Package.
-
3 mögliche Jobs - was tun?
dr.dimitri antwortete auf mischa1981's Thema in Jobsuche, Bewerbung und Zeugnisse
Und wie sieht's mit Gehalt, Urlaubsgeld, Wochenarbeitszeit, Sonderzahlungen, sonstige soziale Leistungen wie VWL, Betriebsrente, etc etc aus? Dim -
Nun als einer der schon länger in einem größeren Projekt unterwegs ist (ca. 20 direkte Mitarbeiter, >10 Millionen € Budget) kann ich Dir sagen, dass Du kein Geld für nix ausgeben solltest. Jedes Projekt hat eine gewisse Eigendynamic und eigene Vorstellungen von dem was an Prozessen laufen muss. Frag deinen PL, TP oder einen der schon länger dabei ist wenn Du Fragen hast. Ein Buch von XY wird dir nicht helfen - wie auch - der Autor kennt Deine Firma und Dein Projekt nicht. Dim
-
Auch ich habe nicht so recht verstanden was Du machen möchtest, aber ist falsch geschrieben. Der Befehl lautet UPDATE mit nur einem P Des weiteren ist ein Alias der genauso heißt wie die Tabelle sinnlos. Dim
-
Ja, das ist der Ausführungsplan den der Optimizer errechnet hat. Das ist die Anzahl Zeilen und Bytes die der Optimizer vermutet. Allerdings wurden meine Tabellen nicht analysiert und daher basieren diese Zahlen auf Standardwerten die der Optimizer in diesem Fall verwendet - sind also in diesem Beispiel nicht mal annähernd korrekt. Dim