AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was sind stored procedures?
Thema durchsuchen
Ansicht
Themen-Optionen

Was sind stored procedures?

Ein Thema von Luckie · begonnen am 29. Jan 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Was sind stored procedures?

  Alt 29. Jan 2005, 15:53
Ich habe jetzt selbts mit der Datenbankprogrammierung angefangen und jetzt frage ich mich, was stored procedures sind?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 15:55
Zitat von Luckie:
Ich habe jetzt selbts mit der Datenbankprogrammierung angefangen und jetzt frage ich mich, was stored procedures sind?
Da sind sowas wie Prozeduren in Delphi. Damit kannst Du bestimmte Abläufe vereinfachen.
Aber MySQL kann es imho noch nicht.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 15:56
Daa sind Funktionen, die in der Datenbank kompiliert abgelegt werden (bei manchen auch nur der Text).
Sie laufen im Prozess der DB und haben auch eine Syntax, die Datenmaipulationen stark vereinfacht.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 15:57
Aha. Danke das war es dann auch schon.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#5

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 18:19
Beim Speichern von Stored Procedures werden diese in der Regel nicht nur compiliert sondern auch optimiert. Die Datenbank weiss dann beim Aufruf gleich welche Indices verwendet werden müssen. Gerade in großen Datenbanken bringt dies einiges an Performancesteigerung.

Neben diesen normalen Procedures gibt es auch noch Trigger die Ereignisgesteuert ausgeführt werden, um z.b. einen Datensatz nach einem Insert oder Update noch zu manipulieren.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 19:06
und damit der Luckie auch mal einen kleinen, abstrakten Bleistift zu Gesicht bekommt.
SQL-Code:
create procedure SomeProcedure(aSomeValue in integer) is
  /* eine Konstante */
  Tab constant char(1) := Chr(9);

  /* Ein cursor, der einen Parameter nimmt und mit diesem Daten abfragt */
  cursor SelectSomething(iParameter in integer) is
    SELECT *
    FROM XYZ
    WHERE SomeColumn = iParameter;

  /* ein Collection typ, bei der ein Element dem Typen einer Zeile des Cursors (und damit der Abfrage) entspricht */
  type TSomeCollection is table of SelectSomething%RowType;

  /* eine Variable dieser collection */
  SomeCollection TSomeCollection;

  /* ein Record mit Defninition siehe Collection ELement */
  SomeRecord SelectSomething%RowType;
begin

  /* cursor öffnen und Abfrage vorbereiten */
  open SelectSomething(aSomeValue);

  /* Inhalt der Abfrage in die Collection schieben */
  fetch SelectSomething
    bulk collect
    into SomeCollection;

  /* Abfrage schließen */
  close SelectSomething;

  /* durch die Ergebnisse laufen (wenn es Datensätze gibt)*/
  if SomeCollection.Count > 0 then
    for i in SomeCollection.First .. SomeCollection.Last loop
      /* aktuelles Element in den Record kopieren */
      SomeRecord := SomeCollection(i);
      /* in die Kommandozeile ausgeben */
      DBMS_Output.Put_Line((i + 1) || Tab || SomeRecord.Column1 || Tab || SomeRecord.Column2);
    end loop;
  end if;
end;
Das Ganze war jetzt PL/SQL. Meiner Meinung nach sieht es aus wie ein Kreuzung zwischen C, Pascal und SQL.
Jede DB bringt ihre eigene Sprache mit. (MS SQL Server: T-SQL, InterBase/FireBird: PSQL, mySQL: nix ) Und alle sind komplett anders.

Edit: Tippfähler...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 19:34
... womit Robert_G zunächst mal ein abschreckendes Beispiel für Oracle präsentiert hat. Kein Wunder, daß Luckie mit DBs vorher nichts am Hut hatte.
Gruß
Hansa
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 19:38
Zitat von Hansa:
... womit Robert_G zunächst mal ein abschreckendes Beispiel für Oracle präsentiert hat. Kein Wunder, daß Luckie mit DBs vorher nichts am Hut hatte.
Naja, so abschreckend ist es sicher nicht.
Wenn man sich so hässliche Sprachen wie T-SQL anguckt (@...@...@@@@...@@.@@@@....@ ), dürfte PL/SQL für einen Delphianer noch recht lesbar sein.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Was sind stored procedures?

  Alt 29. Jan 2005, 20:13
Luckie, das ist doch alles ganz einfach. Lasse dich nicht damit verwirren, das seien Prozeduren in Delphi. Mit MySQL das ist allerdings so ziemlich das schlechteste, was in Betracht kommt. Zumindest für Anfänger.

Was das genau ist, das hat sowieso noch keiner gesagt. Also, das ist eben eine Prozedur. Und die wird in der DB gespeichert. Von Delphi aus ruft man die eben auf, wie eine normale Prozedur auch. Aber ich merke, so wird das nichts. Hier ein Bsp.:

// zu früh, bringt nichts.

Zuerst einmal gibt es SP ohne Rückgabewerte. Die benutze ich immer, um etwas abzuspeichern. D.h. es werden aus dem Delphi-Programm heraus Parameter übergeben an die SP und diese setzt sie dann in der SP ein und führt Berechnungen oder Aktionen aus. Manchmal braucht man auch Rückgabewerte von der SP. An die kommt man dann dran mit "Select * From LuckieSP".

[Edit]Beispiel entfernt.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Was sind stored procedures?

  Alt 30. Jan 2005, 12:34
Zitat von mirage228:
....Aber MySQL kann es imho noch nicht....
Sollte die Version 5 können.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz