Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Update-Befehl in SP vereinfachen (https://www.delphipraxis.net/147121-update-befehl-sp-vereinfachen.html)

RWarnecke 2. Feb 2010 04:52

Datenbank: Firebird • Version: 2.1 • Zugriff über: UniDAC

Update-Befehl in SP vereinfachen
 
Hallo zusammen,

ich habe den folgenden Update-Befehl in einer SP :
SQL-Code:
update tabelle1 
set M1 = :M1,
    M2 = :M2,
    M3 = :M3,

    /* ... */

    M20 = :M20,
    M21 = :M21
where Feld1 = :Feld1;
Für jedes M-Feld habe ich eine eigene Input-Variable. Gibt es eine Möglichkeit, hier ein Array oder einen Komma-Separate String an die SP zu übergeben um so den Update-Befehl aufzubauen ?

Jürgen Thomas 2. Feb 2010 08:15

Re: Update-Befehl in SP vereinfachen
 
Hallo Rolf,

innerhalb einer SP geht es natürlich mit CSV: Einen solchen String kannst du mit mehrfachem POSITION und SUBSTRING aufteilen und an verschiedene Variablen übergeben. Ob das schneller und flexibler ist, wage ich allerdings zu bezweifeln; einen direkten Weg kenne ich nicht (aber das muss nichts heißen).

Gruß Jürgen

RWarnecke 2. Feb 2010 09:13

Re: Update-Befehl in SP vereinfachen
 
Hallo Jürgen,

danke erstmal für Deine Antwort.
Zitat:

Zitat von Jürgen Thomas
innerhalb einer SP geht es natürlich mit CSV: Einen solchen String kannst du mit mehrfachem POSITION und SUBSTRING aufteilen und an verschiedene Variablen übergeben. Ob das schneller und flexibler ist, wage ich allerdings zu bezweifeln; einen direkten Weg kenne ich nicht (aber das muss nichts heißen).

Ich möchte halt vermeiden, dass ich irgendwo einen Wert vergesse und/oder es einfacher habe, den Update-Befehl zu erweitern. Oder wäre es besser, die SP im Programm zusammenbauen und dann ausführen ?

alex517 2. Feb 2010 09:48

Re: Update-Befehl in SP vereinfachen
 
Zitat:

Zitat von RWarnecke
Oder wäre es besser, die SP im Programm zusammenbauen und dann ausführen ?

Sieh dir dazu mal EXECUTE BLOCK() an.

alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 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