Обсуждение: Re: [PERFORM] Query in SQL statement

Поиск
Список
Период
Сортировка

Re: [PERFORM] Query in SQL statement

От
"Roger Hand"
Дата:
> -----Original Message-----
> From: pgsql-performance-owner@postgresql.org
> [mailto:pgsql-performance-owner@postgresql.org]On Behalf Of Jim C. Nasby
> Sent: Friday, September 30, 2005 4:49 PM
> Subject: Re: [PERFORM] [HACKERS] Query in SQL statement

> I suggest ditching the CamelCase and going with underline_seperators.
> I'd also not use the bareword id, instead using bad_user_id. And I'd
> name the table bad_user. But that's just me. :)

I converted a db from MS SQL, where tables and fields were CamelCase, and
just lowercased the ddl to create the tables.

So table and fields names were all created in lowercase, but I didn't have to change
any of the application code: the SELECT statements worked fine with mixed case.

-- sample DDL
CREATE TABLE testtable
(
  fieldone int4
)
insert into TestTable (fieldone) values (11);

-- These statements will both work:

-- lowercase
SELECT fieldone FROM testtable;

-- CamelCase
SELECT FieldOne FROM TestTable;

-Roger

> Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com

Re: [PERFORM] Query in SQL statement

От
"Jim C. Nasby"
Дата:
On Sat, Oct 01, 2005 at 12:51:08PM -0700, Roger Hand wrote:
> > -----Original Message-----
> > From: pgsql-performance-owner@postgresql.org
> > [mailto:pgsql-performance-owner@postgresql.org]On Behalf Of Jim C. Nasby
> > Sent: Friday, September 30, 2005 4:49 PM
> > Subject: Re: [PERFORM] [HACKERS] Query in SQL statement
>
> > I suggest ditching the CamelCase and going with underline_seperators.
> > I'd also not use the bareword id, instead using bad_user_id. And I'd
> > name the table bad_user. But that's just me. :)
>
> I converted a db from MS SQL, where tables and fields were CamelCase, and
> just lowercased the ddl to create the tables.
>
> So table and fields names were all created in lowercase, but I didn't have to change
> any of the application code: the SELECT statements worked fine with mixed case.
>
> -- sample DDL
> CREATE TABLE testtable
> (
>   fieldone int4
> )
> insert into TestTable (fieldone) values (11);

That will usually work (see Tom's reply), but fieldone is a heck of a
lot harder to read than field_one. But like I said, this is the coding
conventions I've found work well; YMMV.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461