lowercase on columnname using view

Started by Chrishelringalmost 14 years ago3 messagesgeneral
Jump to latest
#1Chrishelring
christianhelring@gmail.com

Hi all,

had some help the other day, but now I´m kinda stuck again. :/

I have a table ("virksomhedsdata") with the following columns:

"MI_STYLE" character varying(254),
"MI_PRINX" integer NOT NULL DEFAULT
nextval('rk_ois."virksomhedsdata_MI_PRINX_seq"'::regclass),
"SP_GEOMETRY" geometry,

I would like to make a view so that the columnnames are presented in
lowercase. I thought that the following would work:

CREATE OR REPLACE VIEW rk_ois.virksomhedsdata AS
SELECT virksomhedsdata.MI_STYLE AS mi_style, virksomhedsdata.MI_PRINX as
mi_prinx, virksomhedsdata.SP_GEOMETRY AS sp_geometry
FROM rk_ois.virksomhedsdata;

But it fails saying that column virksomhedsdata.mi_style does not exist.

What am I doing wrong here?

thanks!

Christian

--
View this message in context: http://postgresql.1045698.n5.nabble.com/lowercase-on-columnname-using-view-tp5693220.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

#2Szymon Guz
mabewlun@gmail.com
In reply to: Chrishelring (#1)
Re: lowercase on columnname using view

On 8 May 2012 13:00, Chrishelring <christianhelring@gmail.com> wrote:

Hi all,

had some help the other day, but now I´m kinda stuck again. :/

I have a table ("virksomhedsdata") with the following columns:

"MI_STYLE" character varying(254),
"MI_PRINX" integer NOT NULL DEFAULT
nextval('rk_ois."virksomhedsdata_MI_PRINX_seq"'::regclass),
"SP_GEOMETRY" geometry,

I would like to make a view so that the columnnames are presented in
lowercase. I thought that the following would work:

CREATE OR REPLACE VIEW rk_ois.virksomhedsdata AS
SELECT virksomhedsdata.MI_STYLE AS mi_style, virksomhedsdata.MI_PRINX as
mi_prinx, virksomhedsdata.SP_GEOMETRY AS sp_geometry
FROM rk_ois.virksomhedsdata;

But it fails saying that column virksomhedsdata.mi_style does not exist.

What am I doing wrong here?

thanks!

Christian

If you created the columns like "MI_PRINX", then you need to call them
using "MI_PRINX", not MI_PRINX, because it will be change to lowercase in
the query.

So the proper query should look like this:

CREATE OR REPLACE VIEW rk_ois.virksomhedsdata AS
SELECT
virksomhedsdata."MI_STYLE" AS mi_style,
virksomhedsdata."MI_PRINX" as mi_prinx,
virksomhedsdata."SP_GEOMETRY" AS sp_geometry
FROM rk_ois.virksomhedsdata;

- szymon

#3Guillaume Lelarge
guillaume@lelarge.info
In reply to: Chrishelring (#1)
Re: lowercase on columnname using view

On Tue, 2012-05-08 at 04:00 -0700, Chrishelring wrote:

Hi all,

had some help the other day, but now I´m kinda stuck again. :/

I have a table ("virksomhedsdata") with the following columns:

"MI_STYLE" character varying(254),
"MI_PRINX" integer NOT NULL DEFAULT
nextval('rk_ois."virksomhedsdata_MI_PRINX_seq"'::regclass),
"SP_GEOMETRY" geometry,

I would like to make a view so that the columnnames are presented in
lowercase. I thought that the following would work:

CREATE OR REPLACE VIEW rk_ois.virksomhedsdata AS
SELECT virksomhedsdata.MI_STYLE AS mi_style, virksomhedsdata.MI_PRINX as
mi_prinx, virksomhedsdata.SP_GEOMETRY AS sp_geometry
FROM rk_ois.virksomhedsdata;

But it fails saying that column virksomhedsdata.mi_style does not exist.

What am I doing wrong here?

You should double-quote the columns of the table. Something like this:

CREATE OR REPLACE VIEW rk_ois.virksomhedsdata AS
SELECT virksomhedsdata."MI_STYLE" AS mi_style, ...

--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com