|
Posted by Toby A Inkster on 05/10/07 08:35
dkirkdrei wrote:
> "SELECT fol no FROM Protocol.folder";
Do you mean that the table is actually *called* "Protocol.folder"? If so,
then that's a very poor choice of table name, as the dot is the standard
SQL schema operator.
That is, you can set up several schemas in your database, say, schema A
and schema B, and each schema can contain a table called "foobar". To
differentiate between them, the dot is used:
SELECT * FROM A.foobar;
SELECT * FROM B.foobar;
In Microsoft SQL Server, schemas are linked to users. So each user has
their own schema, thereby allowing multiple users to each create tables
with the same name in the same database. The default schema in MS SQL
Server is, IIRC, "dbo".
But anyway, I digress, although this is a poor choice of table naming, it
is possible to refer to tables with special characters in their names by
quoting them. That is, not:
SELECT * FROM Protocol.folder;
but:
SELECT * FROM "Protocol.folder";
If you also wanted to include a schema in there, you could use the
following query:
SELECT * FROM dbo."Protocol.folder";
In general, when choosing identifiers in SQL, I recommend using hostname
rules, except using underscores instead of hyphens. That is: start with a
letter; end with an alphanumeric; everything in between can be
alphanumeric or underscore. I'd also recommend using all lowercase and
avoiding tables and column names with SQL keywords like "order" and
"from".
--
Toby A Inkster BSc (Hons) ARCS
http://tobyinkster.co.uk/
Geek of ~ HTML/SQL/Perl/PHP/Python/Apache/Linux
Navigation:
[Reply to this message]
|