AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi AutoInc Value setzen per SQL
Thema durchsuchen
Ansicht
Themen-Optionen

AutoInc Value setzen per SQL

Ein Thema von haentschman · begonnen am 19. Mär 2014 · letzter Beitrag vom 20. Mär 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#1

AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:22
Datenbank: NEXUS • Version: 3 • Zugriff über: nx....
Hallo alle...

Ich hätte dann gern mal einen Notfall.

Hintergrund:
Es existiert ein Feld "ID" als AutoInc. Der "Zähler" steht auf 1. (leere Tabelle)
Nun werden per SQL in diese Tabelle Datensätze (Vorgaben) eingetragen incl. der ID. Fragt nicht nach, ist so!
Dabei wird der AutoIncCounter nicht erhöht! Das nächste Append knallt mit einer Key Violation. (ID 1 z.B.)

Die nxTables haben eine Procedure SetAutoIncValue. Damit kann man den nächsten Value per Hand vorbelegen. Dies konnte ich in einem Part so realisieren. Jetzt kommt ein anderer Part bei dem nur SQL möglich ist.

Die Frage:
Wie geht das per SQL? Die Suchergebnisse sind äußerst dürftig. Von Einträgen in den Bugtracker bis zu "Ja es geht, mit Restructure der Tabelle danach"... ohne konkrete Lösungunsansätze.
Das war am aussichtsreichsten von der Beschreibung: http://www.nexusdb.com/forums/showthread.php?t=16898

Danke für Infos. Ich suche parallel weiter. Der erste der die Lösung hat meldet sich...

Geändert von haentschman (19. Mär 2014 um 12:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:29
k.A., aber mach einfach mal ein Backup (als SQL-Skript) von der Datenbank oder einer entsprechenden Tabelle.

Da drin steht dann der Befehl, um den Wert wieder zu laden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#3

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:33
Danke für deine Idee...
... nur gibt das der Enterprise Manager nicht her. Nur Backup in einen anderen DB Alias als Datenbank.
Wenn ich blind bin, klärt mich auf.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#4

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:36
Wo liegt denn genau das Problem: werden die IDs per SQL korrekt eingetragen und du willst nur den AutoInc danach anpassen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#5

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:41
Genau. Denn durch das manuelle eintragen des AutoInc wird der Counter nicht erhöht. Ich möchte nach Abschluß der "sagen wir mal Korrekturen" den nächsten AutoInc Wert vorbelegen.

Wir sprechen nicht über den AutoInc Feldwert eines Datensatzes sondern von dem Wert den die AutoInc Engine für den nächsten AutoInc Wert vorhält.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#6

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:50
Und was spricht gegen die Methode SetAutoIncValue? Soweit ich weiß, wird diese Funktionalität nicht in SQL abgebildet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#7

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:54
Spricht nichts dagegen. In einem Part des "Updates" konnte ich damit ja arbeiten. Geht auch gut. Jetzt habe ich aber einen Teil bei dem ich nur über SQL zugreifen kann und die gleiche Funktionalität benötige.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#8

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:58
Die aktuell gültige Grammatik für SQL in NexusDB findest du in nxSQLGrammar.BNF
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 12:59
Beim ADS kann man das durch zweimaliges Ändern des Feldtypes erzwingen:
Code:
ALTER TABLE mytable ALTER COLUMN myid myid INTEGER;
ALTER TABLE mytable ALTER COLUMN myid myid AUTOINC;
Evtl geht das bei Dir auch, auch wenn es Zeit kostet.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: AutoInc Value setzen per SQL

  Alt 19. Mär 2014, 13:02
Hab das halt bei einigen Datenbanken mitbekommen, wo man sich ein Backup als SQL ausgeben lassen kann.

pgAdmin, phpMyAdmin usw.

- CREATE TABLE, INSERTs mit den Daten, CREATE TRIGGER und was sonst noch alles nötig ist, um die Datenbank neu einzuspielen.

Zitat:
ALTER TABLE mytable ALTER COLUMN myid myid INTEGER;
ALTER TABLE mytable ALTER COLUMN myid myid AUTOINC;
Er hat ja schon das Feld.
Ihm fehlt nur noch der Wert, welcher beim nächsten Insert genommen wird. (wenn ich das richtig bverstanden hab)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:27 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