/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Interbase, trigger, generator og Borland
Fra : Ukendt


Dato : 28-10-02 23:44

Det her er muligvis nok mere et Borland Delphi/Builder-relateret
spørgsmål, end et database/Interbase-spørgsmål, men måske der er en
der kan hjælpe alligevel...

Følgende "kode" opretter automatisk en tabel med tilhørende generator
og trigger til et autoincremet felt. Jeg kan uden videre fyre det hele
af på én gang via Interbase konsollen, men ikke via en
TIBQuery-komponent i førnævnte værktøjer? (Det "sjove" er at jeg vil
kunne gøre dette runtime fra mit program uden, at der skal fumles med
Interbase konsollen e.l.).


CREATE TABLE TEST4
(
ID INTEGER,
TAL INTEGER NOT NULL,
TEKST CHAR( 10),
CONSTRAINT PK_TEST4 PRIMARY KEY (TAL)
);


CREATE GENERATOR TEST4_GEN;
SET GENERATOR TEST4_GEN TO 10;


SET TERM ^! ;
CREATE TRIGGER TEST4_ID FOR TEST4 ACTIVE BEFORE INSERT POSITION 0 AS
begin
if (new.ID is null)
then new.ID = gen_id(TEST4_GEN, 1);
end
^!
SET TERM ; ^!


Jeg forsøger så at gøre det over tre omgange i stedet, og jeg kan godt
oprette tabellen (trin 1), mens generatoren (trin 2) og triggeren
(trin 3) volder lidt problemer.

I trin 2 er det SET-linien der er problemet, og fjerner jeg denne, så
fungerer det udemærket. Men hvordan skal/kan jeg så gøre dette, hvis
jeg gerne vil bestemme en startværdi for min generator?

Fjerner jeg de tre ^!-linier fra trin 3, så fungerer dette også trin
også.

Så mine problemer munder altså ud i:

1. Hvordan kan ovennævnte kode eksekveres i ét hug

....og hvis det ikke skulle kunne lade sig gøre, så...

2. Hvordan kan værdi sættes til en generator

På forhånd tak!

Mvh, Claus
--
I never apologize! I'm sorry, but that's the way I am.
- Homer Simpson

 
 
Stig Johansen (30-10-2002)
Kommentar
Fra : Stig Johansen


Dato : 30-10-02 05:14

Hej.



<Claus Nielsen> wrote in message
news:fdfrru4nm7dfgbsvgq2qf2ov038iv4t277@4ax.com...
> Det her er muligvis nok mere et Borland Delphi/Builder-relateret
> spørgsmål, end et database/Interbase-spørgsmål, men måske der er en
> der kan hjælpe alligevel...

Måske, men det er nok nærmere et database-programmerings spørgsmål.

Hvis du ønsker 'batch' - funktioner, så skal du lede efter behandling af
multiple result sets. Men vær opmærksom på, at det nok er mere besværligt
end at fyre enkelte sætninger af.

--

Med venlig hilsen/Best regards
Stig Johansen
Stig.Johansen@udvikling.it.dk
(remove dot dk)




Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste