On 11.04.2013 08:34, Uwe Dalluege wrote:
SNIP
> 
>> There is no restriction too, as tables are created with quoted
>> strings which accept any character (but maybe it is not a so
>> common habit among DB adm, and I don't know if quoted
>> strings for table or column names is part of the SQL standard)
>>
> 
> This page tells us something about identifiers:
> 
> http://www.postgresql.org/docs/9.2/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
> 
> ...
> SQL identifiers and key words must begin with a letter (a-z, but also 
> letters with diacritical marks and non-Latin letters) or an underscore 
> (_). Subsequent characters in an identifier or key word can be letters, 
> underscores, digits (0-9), or dollar signs ($). Note that dollar signs 
> are not allowed in identifiers according to the letter of the SQL 
> standard, so their use might render applications less portable. The SQL 
> standard will not define a key word that contains digits or starts or 
> ends with an underscore, so identifiers of this form are safe against 
> possible conflict with future extensions of the standard.
> ...
> 
> I think, this is the SQL standard
> but as you say
> maybe this is also SQL standard:
> 
> ...
> There is a second kind of identifier: the delimited identifier or quoted 
> identifier. It is formed by enclosing an arbitrary sequence of 
> characters in double-quotes ("). A delimited identifier is always an 
> identifier, never a key word. So "select" could be used to refer to a 
> column or table named "select", whereas an unquoted select would be 
> taken as a key word and would therefore provoke a parse error when used 
> where a table or column name is expected.
> ...

this is /only/ how PostgreSQL handles it. try to get documentation about the 
ANSI SQL92, which is the most spread. you will find it is diffcult to obtain as 
you theoretically would have to purchase it against a fee. if you've got a 
library access i would be interested what really is written there. but even if 
it is forbidden there it is up to the implementation of the DBMS to dis/allow 
any character for table names.

anyway. most DBMS i know support some kind of quoting or escaping that allows 
pretty much anything in a table name. would be interesting if the dot "." is 
forbidden :)
 
btw. interesting bit about the MySQL concept. it makes it depending on the file 
system the tables are saved on. the file naming conventions essentially apply 
to how you can name your tables.

..ede

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to