Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как поместить результат выборки в таблицу?

6.1K
17 апреля 2007 года
Flex25
50 / / 14.03.2006
Допустим есть такая выборка

 
Код:
SELECT a,b,c FROM t_table WHERE a>0 LIMIT 100;


Как мне через SQL-запрос вставить результат этой выборки в таблицу t_table2 с полями a,b,c того же типа, что и в запросе выше?

Заранее спасибо.
2.1K
17 апреля 2007 года
mainigor
151 / / 21.10.2005
заранее сделать подобную старой table_old (по структуре) таблицу, например table_new, потом :

insert into table_new select * from table_old
373
23 апреля 2007 года
unmoved
216 / / 28.11.2004
не нафиг ничего не нужно: делай так create table название_таблицы as SELECT a,b,c FROM t_table WHERE a>0 LIMIT 100;
1
23 апреля 2007 года
kot_
7.3K / / 20.01.2000
есть еще кроме этого
 
Код:
select into...

позволяет создать на основе выбранной таблицы
10
23 апреля 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: kot_
позволяет создать на основе выбранной таблицы


Уверен?

1
23 апреля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Freeman
Уверен?


Да.

 
Код:
drop table table2
go
select * into table2 from table1 where ...
10
24 апреля 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: kot_
 
Код:
select * into table2 from table1 where ...


Хренассе! Всю жизнь считал, что select into используется только для выборки в переменные. Намудрили микрочлены - это точно не стандарт. Впрочем, для их сервера - решение, согласен. ;)

1
24 апреля 2007 года
kot_
7.3K / / 20.01.2000
Это не стандарт - но по сути чем отличается таблица от переменной в представлении сервера?
10
24 апреля 2007 года
Freeman
3.2K / / 06.03.2004
Мы уходим в сторону. ;)

Есть такое понятие - транзакционная целостность. Согласно ей, запрос на выборку данных (select) не может изменять данные в базе никоим образом, иначе концепция транзакций летит в тартатары. Это отражено синтаксически в стандарте: select into изменяет локальные переменные, т. е. нечто вне базы, а insert по select-у или create as select явно задействуют операторы изменения данных, причём изменения эти выполняются уже после select-а.
1
25 апреля 2007 года
kot_
7.3K / / 20.01.2000
В данном случае изменения также выполняются после select. Кроме того, еще раз обращаю внимание - таблица в данном случае используется в качестве переменной. И и принцип целостности транзакции при этом никак не нарушается. ИМХО
10
25 апреля 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: kot_
таблица в данном случае используется в качестве переменной


Об этом я как-то не подумал. 5! ;)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог