AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi "" bei SQL bzw. Interbase
Thema durchsuchen
Ansicht
Themen-Optionen

"" bei SQL bzw. Interbase

Ein Thema von Hansa · begonnen am 7. Sep 2002 · letzter Beitrag vom 21. Dez 2002
Antwort Antwort
Seite 1 von 3  1 23      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

"" bei SQL bzw. Interbase

  Alt 7. Sep 2002, 12:45
Hallo Leute !

weiß jemand vielleicht, was die "" bei CREATE TABLE zu bedeuten haben? Habe 2 tables angelegt. KG für Kundengruppe und kunde für Kunden. Wenn ich sage er solle KG anlegen kommt :

CREATE TABLE KG

bei kunde kommt aber:

CREATE TABLE "kunde"

Bei der table kunde kriege ich später Ärger bei den Triggern. Er sagt mir : Generator nicht definiert, obwohl er da ist. Die Indexstruktur bei kunde ist wesentlich komplizierter als bei KG. Ist da vielleicht noch ein Fehler drin ??? Finde nirgendwo eine Erklärung über die Bedeutung der "".

Gruß
Hansa
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#2
  Alt 19. Sep 2002, 12:53
Hallo Hansa,

zeige hier bitte die ganze SQL-Scripts für die Tabelle KUNDE bzw. für GENERATOR und TRIGGER

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3
  Alt 19. Sep 2002, 13:11
Hallo Hansa,

die Syntax

Code:
CREATE TABLE "kunde"
ist nicht korrekt. Der Name der Tabelle darf nicht in Anführungsstriche eingefasst werden. Je nach verwendeter Datenbank ist es aber trotzdem denkbar, dass man damit "durchkommt" (siehe unten). IB sollte hier einen Fehler melden.

Bei LocalSQL sind die Anführungsstriche erlaubt, da du dort im Namen dann auch Sonderzeichen wie z.B den Punkt verwenden kannst und damit die Endung des Dateinamens z.B. DB oder DBF erlaubt wird. Die BDE erkennt dann, dass der Name der Tabelle nur der Teil vor dem Punkt ist und der Teil danach nur den Typen (Paradox, dBase) angibt. Sie sind aber nicht notwendig. Standardmäßig wird eine Paradox Tabelle angelegt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4
  Alt 19. Sep 2002, 14:38
Hallo MrSpock,
die Aussage:
Zitat von MrSpock:
Code:
CREATE TABLE "kunde"
ist nicht korrekt.
ist nicht korrekt
IB 6.0.2 (meines Wissens nach alle 6.x) arbeiten grundsätzlich CaseINsensitive, d.h. Groß-Kleinschreibung kann gemischt werden. Wenn man allerdings Tabellennamen,Triggers,... in " setzt arbeitet man Casesensitive und zusätzlich kann man alles mögliche als Tabellennamen benutzen. Allerdings würde ich dieses nicht benutzen, da man sonst wie Hansa sehr schnell gegen eine Wand läuft. Vermutlich hast Du (Hansa) beim Trigger den kunde nicht in Anführungszeichen gesetzt...

Grüße
Lemmy

P.S.: Hi Hansa, ich bin wieder da...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5
  Alt 19. Sep 2002, 18:05
Hei Leute,

das ist ja schon mal gut, wenn sich überhaupt jemand meldet. Mit PaulJr habe ich fast schon nicht mehr gerechnet . Aber das hier muß ich mir erst mal heute abend angucken. Mein Netzwerk ist hinüber und nähert sich erst langsam wieder dem Leben. Wenn ich den erwische, der das war. (<-- so sieht der dann aus!!). War gottseidank selbst nicht da. Vor 10 Min. habe ich wenigstens Internet in Gang gesetzt. Das ist der erste Test.

Vorab SQL - Script :

Code:
/* Table: kunde8 */

SET SQL DIALECT 3;

SET NAMES ISO8859_1;



/******************************************************************************/
/*                                   Tables                                  */
/******************************************************************************/

CREATE TABLE "kunde8" (
    ID        "IDtyp" NOT NULL,
    ID_KGH    "IDtyp" NOT NULL,
    ID_KGU    "IDtyp" NOT NULL,
    "nr"      "IDtyp" NOT NULL,
    "Anrede"  STR25,
    "name"    STR25 NOT NULL,
    "strasse" STR25,
    "Ort"     STR25
);





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

ALTER TABLE "kunde8" ADD CONSTRAINT "PK_kunde8" PRIMARY KEY (ID);


/******************************************************************************/
/*                                Foreign Keys                               */
/******************************************************************************/

ALTER TABLE "kunde8" ADD CONSTRAINT "FK_kunde8" FOREIGN KEY (ID_KGH) REFERENCES KG8 (ID);


/******************************************************************************/
/*                                 Privileges                                */
/******************************************************************************/
Wo ich das hier sehe fällt mir auf, daß die Felder auch in "" stehen. Der Typ IDtyp ist von mir als Domain angelegt worden. Der steht auch in "". Den Hauptschlüssel habe ich auf die ID von kunde8 gesetzt.
Der DS enthält auch noch einen Foreign-Key der aus der Kundengruppen-Datei stammt. Mit den Foreign-Keys habe ich auch noch Ärger. Irgendwas stimmt da noch nicht.

Gruß
Hansa

@Admin: Bei mir ist BBcode standardmäßig deaktiviert, muß es also von Hand einschalten, das war vorher anders. ??????
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 19. Sep 2002, 18:10
Moin Hansa,

und was steht in Deinem Profil unter BBCode immer aktivieren?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#7
  Alt 19. Sep 2002, 19:16
Hi Hansa,

machst Du die DB neu oder werkelst Du an einer rum die schon existiert?? Wenn es sich um ne neue DB handelt, dann mach sie neu. Du mischt ja CaseInsensitive und Casesensitive, das wird Dir das Kreuz brechen, weil Du irgendwann nicht merh durchblickst....



Grüße
Lemmy
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8
  Alt 19. Sep 2002, 19:46
Zitat von Lemmy:
IB 6.0.2 (meines Wissens nach alle 6.x) arbeiten grundsätzlich CaseINsensitive, d.h. Groß-Kleinschreibung kann gemischt werden. Wenn man allerdings Tabellennamen,Triggers,... in " setzt arbeitet man Casesensitive und zusätzlich kann man alles mögliche als Tabellennamen benutzen.
Danke, das hab ich nicht gewusst. Muss mal schauen, ob ich das auch in der OH zu IB finde.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9
  Alt 19. Sep 2002, 20:37
@Admin : Bei mir gibts kein "BBcode immer aktivieren"

Hallo Lemmy,


Zitat:
machst Du die DB neu oder werkelst Du an einer rum die schon existiert?? Wenn es sich um ne neue DB handelt, dann mach sie neu. Du mischt ja CaseInsensitive und Casesensitive, das wird Dir das Kreuz brechen, weil Du irgendwann nicht merh durchblickst....
Wie man schon am Script sieht, ist es eine Test-DB. Für den Kunden-DS brauche ich noch viele Felder mehr. Groß-Kleinschreibung? Könnte tatsächlich eine Fehlerquelle sein! Aber wirkt es sich auch ohne Unix aus ? Habe mehrmals gelesen, Interbase sei caseinsensitive, deshalb habe ich darauf nicht geachtet.

Vielleicht liegt es aber auch an meiner IBconsole (i.e. IBexpert) aus Flensburg. Zumindest Teile der Scripte wurden hiervon automatisch erzeugt. Nimmt er die Feldnamen, so wie sie von Hand eingegeben wurden, und baut diese in einen Trigger ein, ja dann gibt es vielleicht Ärger.

Werde deshalb die DB neu aufbauen und auf Groß/Kleinschreibung achten. Plausibel wäre es schon, daß die " bedeuten, auf CaseSensitive umzuschalten. Aber dann kommt das von IBexpert und nicht von mir.

Mit einem Trigger habe ich nämlich auch Ärger. Er beschwert sich ein Generator sei nicht da, obwohl er da ist (liegt vielleicht auch an CaseSensitive).

@PaulJr :

restliche Scripte :
Code:
CREATE GENERATOR GEN_KG8_ID;
SET GENERATOR GEN_KG8_ID TO 70


CREATE TRIGGER KG8_BI0 FOR KG8
ACTIVE BEFORE INSERT POSITION 0
AS
begin
  new.ID = GEN_ID (gen_kg8_id,1);
end
Hier sieht man schön (alles Original), daß bei dem Generator alles groß und beim Trigger alles kleingeschrieben ist. Demnach würde eventuell CaseSensitive zuschlagen, warum auch immer. Holger Klemt (IBexpert) hat mir noch keine Antwort hierauf gegeben. Die Vermutung (Casesensitive / -insensitive) hatte ich nämlich auch.

Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#10
  Alt 19. Sep 2002, 20:54
Allo ich hab in meinem Profile ein: "BBCode immer aktivieren:"
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:17 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