AGB  ·  Datenschutz  ·  Impressum  







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

Variable in Function

Ein Thema von Nersgatt · begonnen am 23. Jun 2014 · letzter Beitrag vom 24. Jun 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: Variable in Function

  Alt 23. Jun 2014, 13:04
P.S. soetwas wie SQUENCES oder AUTOINC gibt es in MySQL nicht?
http://dev.mysql.com/doc/refman/5.1/...increment.html

[edit]
hmmmm
$2B or not $2B
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#12

AW: Variable in Function

  Alt 23. Jun 2014, 13:09
[QUOTE=Nersgatt;1263235...Die Kollegen verwenden ein Persistenzframework (*), welches die Vergabe der IDs eben mit dieser Tabelle realisiert hat...[/QUOTE] Es sollte ein Gesetz gegen diesen Blödsinn geben. Das ist so dermaßen lahm... Egal. Esis wie esis
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#13

AW: Variable in Function

  Alt 23. Jun 2014, 13:15
...Die Kollegen verwenden ein Persistenzframework (*), welches die Vergabe der IDs eben mit dieser Tabelle realisiert hat...
Es sollte ein Gesetz gegen diesen Blödsinn geben. Das ist so dermaßen lahm... Egal. Esis wie esis
Auf welchen Aspekt beziehst Du Dich jetzt? Auf die Verwendung eines Persistenzframeworks, oder auf die Art und weise, wie die IDs verwaltet werden?
Ich finde es auch unglücklich, dies mit einer Tabelle zu machen, wenn die Datenbank dafür besser geeignete Mechanismen anbietet (wie z.B. Sequences). Aber in meinem Fall sind es halt Gegebenheiten, mit denen ich leben muss.
Jens
  Mit Zitat antworten Zitat
jaevencooler

Registriert seit: 8. Sep 2005
Ort: Friedrichshafen
41 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

AW: Variable in Function

  Alt 23. Jun 2014, 15:22
Moin, Moin,

ich habe auf meiner mySQL Instance die fehlenden Sequencen aus der Oracle wie folgt "ersetzt" :
Code:
DELIMITER $$

CREATE DEFINER=`root`@`localhost` FUNCTION `nextval`(`seq_name` varchar(100)) RETURNS bigint(20)
BEGIN
  declare cur_val bigint(20);

  SELECT sequence_cur_value
  INTO cur_val
  FROM gemiii.sequence_data
  WHERE sequence_name = seq_name;

  IF cur_val IS NOT NULL THEN
    UPDATE gemiii.sequence_data
    SET sequence_cur_value = IF ( (sequence_cur_value + sequence_increment) > sequence_max_value,
                                  IF ( sequence_cycle = TRUE,
                                       sequence_min_value,
                                       NULL
                                     ),
                                  sequence_cur_value + sequence_increment
                                )
    WHERE sequence_name = seq_name;
  END IF;

  RETURN cur_val;
END

die Tabelle dazu sieht folgt aus :

CREATE TABLE `sequence_data` (
  `sequence_name` varchar(100) NOT NULL,
  `sequence_increment` int(11) unsigned NOT NULL DEFAULT '1',
  `sequence_min_value` int(11) unsigned NOT NULL DEFAULT '1',
  `sequence_max_value` bigint(20) unsigned NOT NULL DEFAULT '18446744073709551615',
  `sequence_cur_value` bigint(20) unsigned DEFAULT '1',
  `sequence_cycle` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`sequence_name`),
  UNIQUE KEY `sequence_name_UNIQUE` (`sequence_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
funktioniert recht gut !

Beste Grüße Michael
Michael
Wissen ist Macht, nichts wissen macht auch nichts.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#15

AW: Variable in Function

  Alt 24. Jun 2014, 08:49
Es sollte ein Gesetz gegen diesen Blödsinn geben. Das ist so dermaßen lahm... Egal. Esis wie esis
Auf welchen Aspekt beziehst Du Dich jetzt? Auf die Verwendung eines Persistenzframeworks, oder auf die Art und weise, wie die IDs verwaltet werden?...
Natürlich nur, wie die IDs verwaltet werden. Aber ich schrieb ja auch: 'Esis wie esis'. ('Es ist, wie es ist').
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 13:11 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