|
| 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)
| |
|
|