AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

INSERTs verbinden

Ein Thema von himitsu · begonnen am 11. Jan 2012 · letzter Beitrag vom 11. Jan 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#1

AW: INSERTs verbinden

  Alt 11. Jan 2012, 12:33
Also für jeden Datensatz den automatisch vergebenen Wert?
Jupp.

Einen Wert/eine Stelle kann ich ersetzen, aber eben nicht Mehrere.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: INSERTs verbinden

  Alt 11. Jan 2012, 12:44
Also wenn es darum geht, dass Du Dir sparen willst, den Parameter im InsertQueury mehrfach zu bestücken, dann könnte man evtl. so vorgehen:

In Delphi Query SQL anonymous block in psql mit Variablen Declaration erzeugen, Variable einmalig mit Parameter bestücken und abfeuern.

So mach ich das zumindest in Oracle. Postgress soll ja "halbwegs" ähnlich sein. Obs geht weiß ich nicht, auf die Schnelle habe ich sowas hier gefunden:

http://blog.endpoint.com/2010/09/ano...de-blocks.html

Ob es das richtige ist und in Deiner Postgres Version auch geht, musst Du schauen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#3

AW: INSERTs verbinden

  Alt 11. Jan 2012, 13:43
Cool, das mit dem Anonymus funktioniert.

SQL-Code:
DO $$
DECLARE mrID INTEGER;
BEGIN
  
END$$;
Ich hatte es schon mit einer ähnlichen (krankeren) Variante versucht.
> StroredProzedur erstellen, aufrufen und wieder löschen
Nur ist das nicht grade "schön".
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: INSERTs verbinden

  Alt 11. Jan 2012, 13:54
Fein!

Gegen eine StoredProc spricht ja eigentlich auch nichts, ich mein, wenn man sie nicht ständig erzeugt und wieder löscht.

Aber ich glaub, ich muss mir postgres auch mal anschauen.
Wenn sowas geht, gefällt mir das doch erst recht.

Und krank find ich jetzt anonymous block nicht grad. Wenn man unbedingt keine stored procs nutzen will, ist es doch ne schöne Alternative.
Gruß, Jo

Geändert von jobo (11. Jan 2012 um 13:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#5

AW: INSERTs verbinden

  Alt 11. Jan 2012, 14:47
Mit "krank" meinte ich die StoredProc.
Die Anonymus-Variante ist dagegen ganz hübsch.

Blöd wäre hier halt, wenn z.B. zur selben Zeit zwei solche Querys laufen und sie sich gegenseitig diese Prozedur überschreiben.


Genausu wie eine zusätzliche Tabelle zu nutzen, für die temporären Variablen, auch dabei könnten sich welche gegenseitig diese Variable überschreiben.


Und das ständig Erstellen und Löschen *hust*
SQL-Code:
CREATE OR REPLACE FUNCTION temp_import()
  RETURNS INTEGER
  LANGUAGE plpgsql
  VOLATILE
  AS $BODY$
    DECLARE mrID INTEGER;
    BEGIN

      -- mach was

      RETURN true;
    END
  $BODY$;

SELECT temp_import();

DROP FUNCTION temp_import();
Dagegen sieht es als Anonymus dann doch schon besser aus.
SQL-Code:
DO $BODY$
  DECLARE mrID INTEGER;
  BEGIN

    -- mach was

  END
$BODY$ LANGUAGE plpgsql;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (11. Jan 2012 um 14:54 Uhr)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: INSERTs verbinden

  Alt 11. Jan 2012, 15:23
als ich nach dem anonymen Verfahren gegoogelt hab, bin ich auch auf ne Stored Proc gestoßen, der man sozusagen einen anonymen Block übergeben kann. Das stammt wohl noch aus Zeiten, wo Postgres nicht "anonym" konnte.
Vlt. ist das ja auch noch was für Dich.

Das Verfahren nutze ich unter Oracle gelegentlich, weil es 100% Zugriff auf allen DB Schnickschnack bietet. Konzeptionell ist es vlt fragwürdig, aber das muss jeder selbst entscheiden.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz