[INTERBASE] Generator value in system tables

Pagina: 1
Acties:

  • dexter07051982
  • Registratie: November 2001
  • Laatst online: 16-07-2025
hoi

Ik wil graag weten hoe ik via een sql-script de value van een generator kan aanpassen.
dus niet via

set gen_name to value.

Ik weet dat dit ergens in de systemtabels van interbase moet staan.
Daarin heb je oa de tabel RDB$Generators. Hierin staat wel de naam van de generator, maar niet de waarde.

Heb reeds op google lopen zoeken en daar de language reference gevonden voor ib6, maar ook daarin kan ik niet vinden in welke systemtable de waarde van de generator wordt opgeslagen.

Ik wil dit graag weten omdat ik een generator graag wil aanpassen met een sql-statement, zodat deze dan automatisch de goede waarde krijgt.

Alvast bedankt!

weet niet zeker of dit wel het goede forum is. zo niet, zou een mod dan zo vriendelijk willen zijn mij te vertellen waar deze wel hoort en eventueel verplaatsen?

  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

http://www.fingerbird.de/...ere_are_Generators_stored

Is voor Firebird, maar ik denk dat het wel hetzelfde verhaal zal zijn :)

  • dexter07051982
  • Registratie: November 2001
  • Laatst online: 16-07-2025
Coltrui schreef op donderdag 18 augustus 2005 @ 11:51:
http://www.fingerbird.de/...ere_are_Generators_stored

Is voor Firebird, maar ik denk dat het wel hetzelfde verhaal zal zijn :)
Dit lijkt idd hetzelfde. De RDB$Generators tabel had ik al gevonden. Echter blijkt uit dit document dat je de waarde op geen enkele manier anders kunt aanpassen dan met het set generator commando.

wat ik wil is een het volgende

SET GENERATOR <naam> TO <waarde>;

echter dient de waarde bepaald te worden met een sql-statement. Dit omdat deze generator niet bijgewerkt wordt, als er in een parent db de waarde veranderd (boomstructuur, vrij lastig hier ff kort uit te leggen, maar ga er maar van uit dat het niet anders kan)

ik wil dus de generator setten met een van te voren niet bekend nummer wat ik kan achterhalen met onderstaande sql.

select max(ID) from <tabel>

ik wil hiervoor liever geen stored procedure gebruiken en maak voor het uitvoeren van het script gebruik van ibexpert v2.5.0.6

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 30-04 11:12
set generator <naam> to select max(I|D) from <tabel> werkt niet?

Edit: ff voor je getest, nee dus.

Maar, waarom gebruik je een generator en maak je niet gewoon een trigger die het id invult aan de hand van je query?

[ Voor 75% gewijzigd door Pino op 18-08-2005 12:23 ]

"If you don't know where you are going, any road will take you there"


  • dexter07051982
  • Registratie: November 2001
  • Laatst online: 16-07-2025
normaal gesproken heb ik deze ook niet nodig. alleen als er ff lokaal gewerkt moet worden. En om dan de delphi code die er bij hoort lekker universeel te kunnen maken wil ik dus gewoon graag gebruik blijven maken van die generator.

Heeft ook te maken met de boomstructuur van databases. Hoofddb, sub-db, subsub-db, enz.
normaal word de gen van de hoofddb gebruikt. voor testen en proberen kan dat alleen uitgezet worden. en het kan ook nog voorkomen dat er geen hoofddb is. en dan moet die gen ff met een script worden aangepast. tenminste, das het makkelijkste.

Maar dat wil dus niet op die manier.
BTW: in de hoofddb kan geen gebruik gemaakt worden van de query.

[ Voor 6% gewijzigd door dexter07051982 op 18-08-2005 13:39 ]


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Kan je niks met het EXECUTE statement na opbouwen van een string?
Pagina: 1