powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / plpgsql
5 сообщений из 5, страница 1 из 1
plpgsql
    #33119982
Sergey_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Тут такой трабл: никак не получается создать таблицу, в качестве имени которой выступает переменная, полученная из другой таблицы. Делаю так:

DECLARE table_name text;
BEGIN
SELECT into table_name name from tab_1;
CREATE TABLE table_name
(
data1 int,
data2 int,
data3 int,
)
WITH OIDS;
LANGUAGE 'plpgsql'

Уже голову сломал, помогите плз. в какую сторону копать?
...
Рейтинг: 0 / 0
plpgsql
    #33120068
Meta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE 
  table_name text;
BEGIN
  SELECT into table_name name from tab_1;
  EXECUTE 'CREATE TABLE ' || quote_literal(table_name) || '
  (
  data1 int,
  data2 int,
  data3 int,
  ) WITH OIDS;';
END

Примерно так
...
Рейтинг: 0 / 0
plpgsql
    #33120690
Sergey_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, но, к сожалению, выскакивает та же ошибка. Вот лог:

2005-06-17 01:04:36 [535] LOG: query: SELECT name from tab_1 WHERE "IP"='192.168.8.12'
2005-06-17 01:04:36 [535] LOG: query: SELECT 'CREATE TABLE ' || quote_literal( $1 ) || '
(
data1 int,
data2 int,
data3 int,
) WITH OIDS;'
2005-06-17 01:04:36 [535] LOG: query: CREATE TABLE 'test_table'
(
data1 int,
data2 int,
data3 int,
) WITH OIDS;
2005-06-17 01:04:36 [535] ERROR: parser: parse error at or near "'test_table'" at character 14
2005-06-17 01:04:36 [535] WARNING: Error occurred while executing PL/pgSQL function test
2005-06-17 01:04:36 [535] WARNING: line 5 at execute statement

Если я правильно понял ошибка возникает из-за имени таблицы, которая почему-то едет в кавычках. Как все-таки от них избавиться? Заранее спасибо!
...
Рейтинг: 0 / 0
plpgsql
    #33120716
Sergey_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос закрылся заменой quote_literal(table_name) просто на table_name. Еще раз спасибо, и если можно киньте ссылочку на толковое руководство по сабжу, а то тяжко в слепую копать.
...
Рейтинг: 0 / 0
plpgsql
    #33121073
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Толковей доки на www.postgresql.org ты вряд ли найдешь.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / plpgsql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]