Обсуждение: Inserting data from one table to another

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

Inserting data from one table to another

От
Krzysztof Walkiewicz
Дата:
Hi everybody!

I try to insert data from one table to another with:

INSERT INTO L_klienci_wysylka ('id_klienta','data_wys')(SELECT
'ID','data_wys' FROM 'I_klienci')

but I get:

4: Table not found in statement [INSERT INTO L_klienci_wysylka]

I'm sure that table L_klienci_wysylka exist because I can enter the data
manually.
I am using OpenOffice Base 3.2.0 with HSQL engine.

I know that this is PostgreSQL mailing list, but I can't get the answer
from OOBase mailing list.

Krzysztof

Re: Inserting data from one table to another

От
Thom Brown
Дата:
On 17 February 2010 13:02, Krzysztof Walkiewicz <bars0@op.pl> wrote:
> Hi everybody!
>
> I try to insert data from one table to another with:
>
> INSERT INTO L_klienci_wysylka ('id_klienta','data_wys')(SELECT
> 'ID','data_wys' FROM 'I_klienci')
>
> but I get:
>
> 4: Table not found in statement [INSERT INTO L_klienci_wysylka]
>
> I'm sure that table L_klienci_wysylka exist because I can enter the data
> manually.
> I am using OpenOffice Base 3.2.0 with HSQL engine.
>
> I know that this is PostgreSQL mailing list, but I can't get the answer from
> OOBase mailing list.
>
> Krzysztof

You've specified the table in the select statement as a value.  Remove
the single quotes.

Regards

Thom

Re: Inserting data from one table to another

От
Thom Brown
Дата:
On 17 February 2010 13:02, Krzysztof Walkiewicz <bars0@op.pl> wrote:
> Hi everybody!
>
> I try to insert data from one table to another with:
>
> INSERT INTO L_klienci_wysylka ('id_klienta','data_wys')(SELECT
> 'ID','data_wys' FROM 'I_klienci')
>
> but I get:
>
> 4: Table not found in statement [INSERT INTO L_klienci_wysylka]
>
> I'm sure that table L_klienci_wysylka exist because I can enter the data
> manually.
> I am using OpenOffice Base 3.2.0 with HSQL engine.
>
> I know that this is PostgreSQL mailing list, but I can't get the answer from
> OOBase mailing list.
>
> Krzysztof
>
Actually, I've just noticed you've also used single quotes on the column names.

Use:

INSERT INTO L_klienci_wysylka (id_klienta,data_wys)(SELECT id,data_wys
FROM I_klienci);

If the id column in l_klienci really is in upper-case, you'll have to
put double-quotes around it:

INSERT INTO L_klienci_wysylka (id_klienta,data_wys)(SELECT
"ID",data_wys FROM I_klienci);

So double-quotes (not 2 single quotes in a row) are for specifying
names of columns, tables, sequences etc when they contain spaces,
full-stops (periods to our American cousins) or mixed-case names.
Single-quotes are for specifying values, such as 'Austria', 'Tom Lane
made me cry', '2010-09-13 12:12:11' (although obviously not for
numeric values.

Regards

Thom

Re: Inserting data from one table to another

От
Krzysztof Walkiewicz
Дата:
W dniu 2010-02-17 14:43, Thom Brown pisze:
> On 17 February 2010 13:02, Krzysztof Walkiewicz<bars0@op.pl>  wrote:
>> Hi everybody!
>>
>> I try to insert data from one table to another with:
>>
>> INSERT INTO L_klienci_wysylka ('id_klienta','data_wys')(SELECT
>> 'ID','data_wys' FROM 'I_klienci')
>>
>> but I get:
>>
>> 4: Table not found in statement [INSERT INTO L_klienci_wysylka]
>>
>> I'm sure that table L_klienci_wysylka exist because I can enter the data
>> manually.
>> I am using OpenOffice Base 3.2.0 with HSQL engine.
>>
>> I know that this is PostgreSQL mailing list, but I can't get the answer from
>> OOBase mailing list.
>>
>> Krzysztof
>>
> Actually, I've just noticed you've also used single quotes on the column names.
>
> Use:
>
> INSERT INTO L_klienci_wysylka (id_klienta,data_wys)(SELECT id,data_wys
> FROM I_klienci);
>
> If the id column in l_klienci really is in upper-case, you'll have to
> put double-quotes around it:
>
> INSERT INTO L_klienci_wysylka (id_klienta,data_wys)(SELECT
> "ID",data_wys FROM I_klienci);
>
> So double-quotes (not 2 single quotes in a row) are for specifying
> names of columns, tables, sequences etc when they contain spaces,
> full-stops (periods to our American cousins) or mixed-case names.
> Single-quotes are for specifying values, such as 'Austria', 'Tom Lane
> made me cry', '2010-09-13 12:12:11' (although obviously not for
> numeric values.
>
> Regards
>
> Thom
>
Thank You Thom for your reply.
I think i tried all the possibilities and the correct command was:

INSERT INTO "L_klienci_wysylka" ("id_klienta","data_wys") (SELECT
"ID","data_wys" FROM "I_klienci");

I knew that I won't be disappointed when I ask in that mailing list.

Have a nice day!

Krzysztof