AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Reservierte Wörter als Tabellenfelder
Thema durchsuchen
Ansicht
Themen-Optionen

Reservierte Wörter als Tabellenfelder

Ein Thema von Alter Mann · begonnen am 27. Jun 2007 · letzter Beitrag vom 28. Jun 2007
Antwort Antwort
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Reservierte Wörter als Tabellenfelder

  Alt 27. Jun 2007, 19:24
Datenbank: unbekannt • Zugriff über: unbekannt
Hallo,

eine Verständnisfrage:

Wenn ich mit 'Create Table' eine Tabelle erstelle und dabei Wörter für die Felder verwende
die aber reservierte Wörter des DB-Servers sind, werden sie automatisch so ungewandelt das sie
weiterhin nutzbar bleiben?

z.B.:

Wird beim MS-SQL-Server aus dem Feldnamen 'System_User' ein '[System_User]'.
Ich kann programmtechnisch aber mit 'System_User' weiterarbeiten.

SQL-Code:
CREATE TABLE [dbo].[TAB_TEST] (
   [SYSID] [bigint] IDENTITY (1, 1) NOT NULL ,
   [SYSTEM_USER] [char] (15) COLLATE Latin1_General_CI_AS NULL
) ON [PRIMARY]
GO
Verhalten sich die anderen DB-Server auch so?
Es wäre Nett wenn ihr ein kurzes Statement in Form von: Mysql Ver. xy Ja/Nein, abgeben würdet.

Gruß

Alter Mann
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Reservierte Wörter als Tabellenfelder

  Alt 27. Jun 2007, 19:40
Bei anderen Datenbanken müssen reservierte Namen in doppelte Anführungszeichen gesetzt werden. (entspricht SQL/92 Standard)
ABER: Finger weg von reservierten Namen als Feld-, Tabellen- oder Viewname!
Das kann ganz bösen Ärger verursachen. Die Fehlermeldungen sind entweder kryptisch oder völlig irreführend oder so allgemein, dass man nichts damit anfangen kann.
Dabei muss man nicht nur die reservierten Namen der benutzten Datenbank vermeiden, sondern möglichst
die Vereinigungsmenge aller reservierten Namen von allen Datenbanken.
Vielleicht möchte man später den Datenbankhersteller wechseln.
Dann kann es passieren, dass unter der neuen Datenbank rätzelhafte Fehlermeldungen auftauchen.
(Und dann "viel Spass" beim suchen)

Reserved Keywords (MS SQL Server 2000)
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#3

Re: Reservierte Wörter als Tabellenfelder

  Alt 28. Jun 2007, 09:07
Zitat von shmia:
Bei anderen Datenbanken müssen reservierte Namen in doppelte Anführungszeichen gesetzt werden. (entspricht SQL/92 Standard)
IIRC sind eckige Klammern SQL-Standard und Doppel-Quotes MS-Standard

Zitat von shmia:
ABER: Finger weg von reservierten Namen als Feld-, Tabellen- oder Viewname!
Das kann ganz bösen Ärger verursachen. Die Fehlermeldungen sind entweder kryptisch oder völlig irreführend oder so allgemein, dass man nichts damit anfangen kann.
Genau: unbedingt daran halten!

Nachtrag: ADS ist es egal, solange bei den Abfragen die Feldnamen sauber gequoted sind.
Nach-Nachtrag: ADS akzeptiert sowohl [] als auch ""
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Reservierte Wörter als Tabellenfelder

  Alt 28. Jun 2007, 09:56
Zitat von joachimd:
IIRC sind eckige Klammern SQL-Standard und Doppel-Quotes MS-Standard
Nein, es ist gerade anderst herum.
siehe: http://www.contrib.andrew.cmu.edu/~s...ql/sql1992.txt
Hier die Bildungsregel:
Code:
<double quote> ::= "
<delimited identifier> ::= <double quote> <delimited identifier body> <double quote>
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#5

Re: Reservierte Wörter als Tabellenfelder

  Alt 28. Jun 2007, 10:54
Zitat von shmia:
Nein, es ist gerade anderst herum.
Schon schlimm genug, dass es Standards gibt, an welche sich manche großen "Arroganzien" einfach nicht halten.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Reservierte Wörter als Tabellenfelder

  Alt 28. Jun 2007, 15:55
Hallo,

ersteinmal Dank für die Antworten. Das man reservierte Wörter nicht verwenden sollte ist mir
schon Klar, bin selber schon einmal reingefallen bei MS Access.

Gruß

[Edit]
Da nun eine neue Frage kommen würde, geht es hier Reservierte Wörter ermitteln weiter.
[/Edit]
  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 20:52 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