AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FireBird 2 bekommt eine RETURNING clause :-)
Thema durchsuchen
Ansicht
Themen-Optionen

FireBird 2 bekommt eine RETURNING clause :-)

Ein Thema von Robert_G · begonnen am 16. Nov 2005 · letzter Beitrag vom 17. Nov 2005
Antwort Antwort
Robert_G
(Gast)

n/a Beiträge
 
#1

FireBird 2 bekommt eine RETURNING clause :-)

  Alt 16. Nov 2005, 23:29
Datenbank: Firebird • Version: 2 • Zugriff über: FB .Net DataProvider
Ich habe mir gerade die Release notes zu FB 2 durchgelesen.
Anscheinend ist es nun endlich möglich auch in Firebird konsistente, db-seitig erzeigte PKs zu verwenden.
Hier der passende Auszug: Wer also bisher krampfartig die Werte selbst aus den sequences (Ja in FB heißßen Generatoren jetzt so wie es richtig heißt ), können sich freuen.
Nur so als kleine Info gedacht. Hat mich echt überrascht.

Hier der Auszug:
Zitat:
RETURNING Clause for Insert Statements
D. Yemanov
The RETURNING clause syntax has been implemented for the INSERT statement, enabling the re-
Data Manipulation Language (DML)
36
turn of a result set from the INSERT statement. The set contains the column values actually stored.
Most common usage would be for retrieving the value of the primary key generated inside a BEFORE-
trigger.
Available in DSQL and PSQL.
Syntax Pattern
INSERT INTO ... VALUES (...) [RETURNING <column_list> [INTO <variable_list>]] Example(s)
1.
SQL-Code:
INSERT INTO T1 (F1, F2)
VALUES (:F1, :F2)
RETURNING F1, F2 INTO :V1, :V2;
2.
SQL-Code:
INSERT INTO T2 (F1, F2)
VALUES (1, 2)
RETURNING ID INTO :PK;
Wäre jetzt noch nett zu wissen wann die Final erwartet wird.
Vllt könnte ich Nexus aus dem BriefCase client wieder durch FB ersetzen. (FB hat eindeutig den besseren Data Provider, inkl. retuning macht das ...
  Mit Zitat antworten Zitat
Hansa

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

Re: FireBird 2 bekommt eine RETURNING clause :-)

  Alt 17. Nov 2005, 02:28
Schön, wenn das Dich freut. Aber was ist da Bedeutendes dran ? Gut, für schreibfaule wie dich ist das alles erwähnenswert, aber eine schlichte SP hat vorher dasselbe gemacht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: FireBird 2 bekommt eine RETURNING clause :-)

  Alt 17. Nov 2005, 21:30
Zitat von Hansa:
Aber was ist da Bedeutendes dran ? Gut, für schreibfaule wie dich ist das alles erwähnenswert, aber eine schlichte SP hat vorher dasselbe gemacht.
Es ermöglicht erstmals konsistentes Handling von auto-inkrementierten PKs.
Du kannst nun endlich einen BIU Trigger schreiben, der beim INSERT _immer_ einen PK aus der sequence holt, egal was reingeworfen wurde. Und Änderungen verbietet.
Bisher musste man den Wert elbst holen und dann in das INSERT werfen um sichergehen zu können, dass mann nach dem INSERT auch wirklich den PK des Datensatzes hat. Mit einer Returning clause ist das schlichtweg unnötig, da du direkt im gleichen round trip den PK aus deinem INSERT bekommst.
  Mit Zitat antworten Zitat
Hansa

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

Re: FireBird 2 bekommt eine RETURNING clause :-)

  Alt 17. Nov 2005, 23:28
Ja, schaden kann so was kaum. Nur der Nutzen einer Return-Klausel ist mir etwas unklar. Den Trigger mit einer SP (mit Rückgabewert) nachzubauen ist wohl kein Kunststück.
Gruß
Hansa
  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:38 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