<font size="1" face="Verdana">Hallo Herr Kosch,<br>
ich arbeite gerade Ihr Buch "Interbase Datenbankentwicklung
mit Delphi"<br>
durch. Jetzt bin auf Seite 231 angekommen. Dort geht um Stored
Procedures.<br>
Nun möchte ich über eine Stored Procedure einen Datensatz
hinzufügen.<br>
Wie auf den vorherigen Seiten gelernt habe, ist es vorteilhaft,<br>
wenn sich für die Tabellenspalte eine entsprechende DOMAIN
anlegt.<br>
Siehe Metadaten. Jetzt möchte diese Domänen als Parametertyp in
einer<br>
Stored Procedure verwenden. Leider weigert sich der Interbase 6
dies zu akzeptieren.<br>
Ist das normal, oder mache ich etwas falsch ?</font></p>
<p><font size="1" face="Verdana">CREATE PROCEDURE INSERT_KUNDEN
(V TVORNAME, N TNACHNAME) AS<br>
BEGIN<br>
INSERT INTO KUNDEN VALUES(GEN_ID(GENERATORTEST_GEN,1),:V,:N);<br>
END<br>
^</font></p>
<p><font size="1" face="Verdana"><strong>Metadaten -></strong></font></p>
<p><font size="1" face="Verdana">SET SQL DIALECT 3;<br>
<br>
/* CREATE DATABASE 'd:\interbase\test.gdb' PAGE_SIZE 4096<br>
<br>
DEFAULT CHARACTER SET ISO8859_1 */<br>
/* Domain definitions */<br>
CREATE DOMAIN "TBOOLEAN" AS CHAR(1) CHARACTER SET
ISO8859_1<br>
CHECK(VALUE IN ('J','N')) NOT NULL;<br>
CREATE DOMAIN "TID" AS INTEGER NOT NULL;<br>
CREATE DOMAIN "TNACHNAME" AS VARCHAR(30) CHARACTER SET
ISO8859_1 NOT NULL;<br>
CREATE DOMAIN "TVORNAME" AS VARCHAR(30) CHARACTER SET
ISO8859_1 NOT NULL;</font></p>
<p><font size="1" face="Verdana">/* Table: KUNDEN, Owner: SYSDBA
*/<br>
<br>
CREATE TABLE "KUNDEN" <br>
(<br>
"ID" "TID",<br>
"VORNAME" "TVORNAME",<br>
"NACHNAME" "TNACHNAME",<br>
PRIMARY KEY ("ID"<br>
);</font></p>
<p><font size="1" face="Verdana">CREATE GENERATOR
"GENERATORTEST_GEN";</font></p>
<p><font size="1" face="Verdana"><strong><-Metadaten</strong></font></p>
<p><font size="1" face="Verdana"></font> </p>
<p><font size="1" face="Verdana">:-) Jens Schumann</font>
ich arbeite gerade Ihr Buch "Interbase Datenbankentwicklung
mit Delphi"<br>
durch. Jetzt bin auf Seite 231 angekommen. Dort geht um Stored
Procedures.<br>
Nun möchte ich über eine Stored Procedure einen Datensatz
hinzufügen.<br>
Wie auf den vorherigen Seiten gelernt habe, ist es vorteilhaft,<br>
wenn sich für die Tabellenspalte eine entsprechende DOMAIN
anlegt.<br>
Siehe Metadaten. Jetzt möchte diese Domänen als Parametertyp in
einer<br>
Stored Procedure verwenden. Leider weigert sich der Interbase 6
dies zu akzeptieren.<br>
Ist das normal, oder mache ich etwas falsch ?</font></p>
<p><font size="1" face="Verdana">CREATE PROCEDURE INSERT_KUNDEN
(V TVORNAME, N TNACHNAME) AS<br>
BEGIN<br>
INSERT INTO KUNDEN VALUES(GEN_ID(GENERATORTEST_GEN,1),:V,:N);<br>
END<br>
^</font></p>
<p><font size="1" face="Verdana"><strong>Metadaten -></strong></font></p>
<p><font size="1" face="Verdana">SET SQL DIALECT 3;<br>
<br>
/* CREATE DATABASE 'd:\interbase\test.gdb' PAGE_SIZE 4096<br>
<br>
DEFAULT CHARACTER SET ISO8859_1 */<br>
/* Domain definitions */<br>
CREATE DOMAIN "TBOOLEAN" AS CHAR(1) CHARACTER SET
ISO8859_1<br>
CHECK(VALUE IN ('J','N')) NOT NULL;<br>
CREATE DOMAIN "TID" AS INTEGER NOT NULL;<br>
CREATE DOMAIN "TNACHNAME" AS VARCHAR(30) CHARACTER SET
ISO8859_1 NOT NULL;<br>
CREATE DOMAIN "TVORNAME" AS VARCHAR(30) CHARACTER SET
ISO8859_1 NOT NULL;</font></p>
<p><font size="1" face="Verdana">/* Table: KUNDEN, Owner: SYSDBA
*/<br>
<br>
CREATE TABLE "KUNDEN" <br>
(<br>
"ID" "TID",<br>
"VORNAME" "TVORNAME",<br>
"NACHNAME" "TNACHNAME",<br>
PRIMARY KEY ("ID"<br>
);</font></p>
<p><font size="1" face="Verdana">CREATE GENERATOR
"GENERATORTEST_GEN";</font></p>
<p><font size="1" face="Verdana"><strong><-Metadaten</strong></font></p>
<p><font size="1" face="Verdana"></font> </p>
<p><font size="1" face="Verdana">:-) Jens Schumann</font>
Comment