Benutzer mit den meisten Antworten
SQL Tabellenname mit Punkt

Frage
Antworten
-
Der Vollständigkeit halber: klar geht das.
Hier findest Du die Regeln für Bezeichner in SQL Server: https://technet.microsoft.com/de-de/library/ms175874%28v=sql.105%29.aspx
Anders als oft vermutet sind bis zu 128 Zeichen möglich und diese Zeichen dürfen sogar Unicode Zeichen wie beispielsweise ein "®" sein :)
CREATE TABLE [®] (id int)
Ob man es tun SOLLTE, ist eine andere Frage, und da würde auch ich stark von abraten. Gerade ein Punkt führt in Scripten dann unter Garantie zu Verwirrungen.
Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform, MCM, MVP
www.SarpedonQualityLab.com | www.SQL-Server-Master-Class.com- Bearbeitet Andreas.WolterMicrosoft employee Mittwoch, 22. Juli 2015 06:56 Link
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 28. Juli 2015 07:46
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 5. August 2015 06:27
-
Hallo Matthias,
es ist zwar möglich aber ziemlich unsinnig.
Falls Du das unbedingt so machen willst (wie gesagt, ich rate dringend davon ab, es gibt keinen Grund, sowas machen zu wollen), musst Du den Tabellennamen immer in [...] angeben, ansonsten wird der Punkt als Trennzeichen verwendet.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Mittwoch, 22. Juli 2015 06:22
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 28. Juli 2015 07:46
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 5. August 2015 06:26
Alle Antworten
-
Hallo Matthias,
es ist zwar möglich aber ziemlich unsinnig.
Falls Du das unbedingt so machen willst (wie gesagt, ich rate dringend davon ab, es gibt keinen Grund, sowas machen zu wollen), musst Du den Tabellennamen immer in [...] angeben, ansonsten wird der Punkt als Trennzeichen verwendet.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Mittwoch, 22. Juli 2015 06:22
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 28. Juli 2015 07:46
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 5. August 2015 06:26
-
Hallo Matthias,
gehen tut es aber man sollte es nicht tun. Dann musst du überall den Tabellennamen in [ ] schreiben und wenn man das nicht konsequent macht führt dies unweigerlich zu Fehlern. Ein einfachen "select * from tabelle" muss dann immer "select * from [tabelle]" sein.
Gruß
Benjamin Hoch
MCSE: Data Platform,
MCSA: Windows Server 2012,- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 28. Juli 2015 07:46
-
Der Vollständigkeit halber: klar geht das.
Hier findest Du die Regeln für Bezeichner in SQL Server: https://technet.microsoft.com/de-de/library/ms175874%28v=sql.105%29.aspx
Anders als oft vermutet sind bis zu 128 Zeichen möglich und diese Zeichen dürfen sogar Unicode Zeichen wie beispielsweise ein "®" sein :)
CREATE TABLE [®] (id int)
Ob man es tun SOLLTE, ist eine andere Frage, und da würde auch ich stark von abraten. Gerade ein Punkt führt in Scripten dann unter Garantie zu Verwirrungen.
Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform, MCM, MVP
www.SarpedonQualityLab.com | www.SQL-Server-Master-Class.com- Bearbeitet Andreas.WolterMicrosoft employee Mittwoch, 22. Juli 2015 06:56 Link
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 28. Juli 2015 07:46
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 5. August 2015 06:27
-
Ein einfachen "select * from tabelle" muss dann immer "select * from [tabelle]" sein.
Hallo Ben,
und das ist - aus meiner Sicht - genau so schädlich wie Sonderzeichen in Namen. Grundsätzlich solle IMMER mit qualifizierten Objekten gearbeitet werden:
-- Falsche Syntax! SELECT * FROM [Tabelle]; -- Korrekte Syntax! SELECT * FROM [Schema].[Tabelle];
Warum das so ist, habe ich in einem Blogartikel vor langer Zeit mal veröffentlicht und aktuell auf der neuen Plattform hier überarbeitet veröffentlicht:
MCM - SQL Server 2008
MCSE - SQL Server 2012
db Berater GmbH
SQL Server Blog (german only)