AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DB erstellung / Master - Detail 2x Problem
Thema durchsuchen
Ansicht
Themen-Optionen

DB erstellung / Master - Detail 2x Problem

Ein Thema von manfred_h · begonnen am 2. Feb 2006 · letzter Beitrag vom 3. Feb 2006
Antwort Antwort
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#1

DB erstellung / Master - Detail 2x Problem

  Alt 2. Feb 2006, 17:36
Datenbank: Firebird • Version: 1.5 • Zugriff über: Zeos
Hallo zusammen

bin wirklich seit längerer Zeit am expeimentieren unter Verwendung von IBExpert und
IBConsole ( Interbase ).

Habe hier ein Script welches 3 Tabellen erstellen soll mit einigen Domains und Generatoren.
Das Prolem ist dass es z.B. mit IBConsole geht und mit IBExpert dann z.T wieder nicht.
Interessant ( nicht wirklich ) finde ich es auch wenn ich eine DB mit IBExpert anschaue ( SQL )
dann das Script kopiere und Versuche die leiche DB zu erstellen das das dann nicht geht.
Mit IBConsole geht es aber dann wieder. Bin echt am

Könntet Ihr Bitte mein SQL Script anschauen?

Die Tabellen ALTERSHEIM > ALTERSHEIM_K
> ALTERSHEIM_V > ALTERSHEIM_VD

ALTERSHEIM_S ohne Verknüpfungen

( Bin mir auch am überlegen ob es womöglich sinnvoller ist wenn die ganze "Struktur" nicht
auf der Datenbank liegt sonder von Delphi "Erzeugt" wird. Will heissen:
ALTERSHEIM > ALTERSHEIM_K bei dem löchen von ALTERSHEIM alle Datensätze von ALTERSHEIM_K
vom Delphi löschen lassen )


Bin Dankbar für Eure Ratschläge
Manfred

PS: als ID verwend ich GUID deshalb habe ich die Domain auf "ID" AS CHAR(32) CHARACTER SET ISO8859_1 NOT NULL; gesetzt.

SQL-Code:
/******************************************************************************/
/****              Generated by IBExpert 01.02.2006 17:16:07               ****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES UNICODE_FSS;


/******************************************************************************/
/****                          DOMAINS START                               ****/
/******************************************************************************/


CREATE DOMAIN "ID" AS CHAR(32) CHARACTER SET ISO8859_1 NOT NULL;
CREATE DOMAIN "PLZ" AS VARCHAR(10) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "STATUS" AS VARCHAR(10) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T10" AS VARCHAR(10) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T20" AS VARCHAR(20) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T30" AS VARCHAR(30) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T50" AS VARCHAR(50) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T70" AS VARCHAR(50) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T130" AS VARCHAR(130) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "T255" AS VARCHAR(255) CHARACTER SET UNICODE_FSS;
CREATE DOMAIN "DATUM" AS DATE;
CREATE DOMAIN "TIME_S" AS TIMESTAMP;
CREATE DOMAIN "I_O" AS DECIMAL(9, 0);
CREATE DOMAIN "TEXT" AS BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1;


/******************************************************************************/
/****                          DOMAINS END                                 ****/
/******************************************************************************/

/******************************************************************************/
/****                       GENERATOREN START                              ****/
/******************************************************************************/
CREATE GENERATOR "GEN_ALTERSHEIM";
CREATE GENERATOR "GEN_ALTERSHEIM_K";
CREATE GENERATOR "GEN_ALTERSHEIM_STAT";
CREATE GENERATOR "GEN_ALTERSHEIM_V";
CREATE GENERATOR "GEN_ALTERSHEIM_VD";

/******************************************************************************/
/****                        GENERATOREN END                               ****/
/******************************************************************************/

/
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/


/******************************************************************************/
/****                        ALTERSHEIM Start                              ****/
/******************************************************************************/
CREATE TABLE ALTERSHEIM
(
  "ID"     "ID",
  "G_NR"  "T30",
  "U_NR"  "T30",
  "NAME"  "T130",
  "STR"     "T130",
  "PLZ"     "PLZ",
  "ORT"     "T50",
  "TEL"     "T20",
  "FAX"     "T20",
  "EMAIL"  "T50",
  "HOMEPAGE"  "T130",
  "ANZ_PL"  "T10",
  "ARBEITER"  INTEGER,
  "MT"     SMALLINT,
  "AKZEPTANZ"  INTEGER,
  "STATUS"  INTEGER,
  "MEMO"  "TEXT",
  "NK"     INTEGER,
  "KF"     INTEGER,
  "L_UPDATE"  "TIME_S",
  "STAT_UPDATE"  INTEGER,
  "STAT_DEL"  INTEGER
);

/******************************************************************************/
/****                          Primary Keys                                ****/
/******************************************************************************/

ALTER TABLE ALTERSHEIM ADD PRIMARY KEY (ID);


/******************************************************************************/
/****                         ALTERSHEIM END                               ****/
/******************************************************************************/


/******************************************************************************/
/****                    ALTERSHEIM KONTAKTE START                         ****/
/******************************************************************************/
CREATE TABLE ALTERSHEIM_K
(
  "ID"     "ID",
  "G_NR"  "T30",
  "U_NR"  "T30",
  "ID_SPARTE"  "ID",
  "K_ANREDE"  "T20",
  "K_NAME"  "T50",
  "K_VORNAME"  "T50",
  "K_POSITION"  "T50",
  "K_TEL_1"  "T20",
  "K_TEL_2"  "T20",
  "K_EMAIL"  "T50",
  "K_MEMO"  "TEXT",
  "L_UPDATE"  "TIME_S",
  "STAT_UPDATE"  INTEGER,
  "STAT_DEL"  INTEGER
);

/******************************************************************************/
/****                   Primary Keys & REFERENCES                          ****/
/******************************************************************************/

ALTER TABLE ALTERSHEIM_K ADD PRIMARY KEY (ID);
ALTER TABLE ALTERSHEIM_K ADD FOREIGN KEY ("ID_SPARTE") REFERENCES ALTERSHEIM ("ID") ON DELETE CASCADE;

/******************************************************************************/
/****                     ALTERSHEIM KONTAKTE END                          ****/
/******************************************************************************/


/******************************************************************************/
/****                   ALTERSHEIM VERTEILUNG START                        ****/
/******************************************************************************/
CREATE TABLE ALTERSHEIM_V
(
  "ID"     "ID",
  "G_NR"  "T30",
  "U_NR"  "T30",
  "ID_SPARTE"  "ID",
  "DATUM"  "T20",
  "K_PERSON"  "T50",
  "K_DURCH"  "T130",
  "MEMO"  "TEXT",
  "L_UPDATE"  "TIME_S",
  "STAT_UPDATE"  INTEGER,
  "STAT_DEL"  INTEGER
);

/******************************************************************************/
/****                   Primary Keys & REFERENCES                          ****/
/******************************************************************************/

ALTER TABLE ALTERSHEIM_V ADD PRIMARY KEY (ID);
/**ALTER TABLE ALTERSHEIM_V ADD FOREIGN KEY ("ID_SPARTE") REFERENCES ALTERSHEIM ("ID") ON DELETE CASCADE;

/******************************************************************************/

/****                   ALTERSHEIM VERTEILUNG END                          ****/
/******************************************************************************/


/******************************************************************************/
/****               ALTERSHEIM VERTEILUNG DETAIL START                     ****/
/******************************************************************************/
CREATE TABLE ALTERSHEIM_VD
(
  "ID"     "ID",
  "G_NR"  "T30",
  "U_NR"  "T30",
  "ID_V"  "ID",
  "BIBEL_TYP"  "T130",
  "MENGE"  INTEGER,
  "L_UPDATE"  "TIME_S",
  "STAT_UPDATE"  INTEGER,
  "STAT_DEL"  INTEGER
);


/******************************************************************************/
/****                   Primary Keys & REFERENCES                          ****/
/******************************************************************************/

ALTER TABLE ALTERSHEIM_VD ADD PRIMARY KEY (ID);
ALTER TABLE ALTERSHEIM_VD ADD FOREIGN KEY ("ID_V") REFERENCES ALTERSHEIM_V ("ID") ON DELETE CASCADE;

/******************************************************************************/
/****                ALTERSHEIM VERTEILUNG DETAIL END                      ****/
/******************************************************************************/


/******************************************************************************/
/****                   ALTERSHEIM STATISTIK START                         ****/
/******************************************************************************/
CREATE TABLE ALTERSHEIM_S
(
  "ID"     "ID",
  "G_NR"  "T30",
  "U_NR"  "T30",
  "GJ"     INTEGER,
  "Q"     INTEGER,
  "JZ"     INTEGER,
  "QZ"     INTEGER,
  "L_UPDATE"  "TIME_S",
  "STAT_UPDATE"  INTEGER,
  "STAT_DEL"  INTEGER
);


/******************************************************************************/
/****                   Primary Keys & REFERENCES                          ****/
/******************************************************************************/

ALTER TABLE ALTERSHEIM_S ADD PRIMARY KEY (ID);


/******************************************************************************/
/****                    ALTERSHEIM STATISTIK END                          ****/
/******************************************************************************/
  Mit Zitat antworten Zitat
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#2

Re: DB erstellung / Master - Detail 2x Problem

  Alt 2. Feb 2006, 19:32
Hallo Manfred,

wo liegt denn das Problem? Welches Statement? Welche Fehlermeldung?
Mein IBExpert hat dein Script anstandslos ausgeführt.

alex
Alexander
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: DB erstellung / Master - Detail 2x Problem

  Alt 2. Feb 2006, 21:54
Zitat von alex517:
Hallo Manfred,

wo liegt denn das Problem? Welches Statement? Welche Fehlermeldung?
Mein IBExpert hat dein Script anstandslos ausgeführt.

alex
Das ist ja das seltsame. Gerade eben hab ich das Script nochmals aufgerufen
und bekam die Fehlermeldung:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 5, char 5.
SQL.

und der erste Befehl >> SET SQL DIALECT 3; war in einem roten Balken.
Wenn ich aber schaue wie ein Script daherkommt das von IBExpert selber ausgegeben wird
finde ich keinen Unterschied.
ein wenig Ratlos


Manfed
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: DB erstellung / Master - Detail 2x Problem

  Alt 3. Feb 2006, 10:53
Das Problem hat sich gelöst einlich hab im IB Expert - Script Executive
den Button use current connect übersehen.

Zur Zweiten Frage hat da jemand eine Überlegung?

Die Tabellen ALTERSHEIM > ALTERSHEIM_K
> ALTERSHEIM_V > ALTERSHEIM_VD

ALTERSHEIM_S ohne Verknüpfungen

( Bin mir auch am überlegen ob es womöglich sinnvoller ist wenn die ganze "Struktur" nicht
auf der Datenbank liegt sonder von Delphi "Erzeugt" wird. Will heissen:
ALTERSHEIM > ALTERSHEIM_K bei dem löchen von ALTERSHEIM alle Datensätze von ALTERSHEIM_K
vom Delphi löschen lassen )


Besten dank für Deine alex517 / Eure Hilfe
Manfred
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:30 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