Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Оператор Insert ? / 6 сообщений из 6, страница 1 из 1
24.01.2008, 06:02
    #35083560
BVF
BVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор Insert ?
О субд не говорим

Create table N2
(f1 integer,f2 varchar(100),Primary key(f1));

Create table N1
(f1 integer,f1 varchar(100),Primary key(f1));

Insert into n2
values(1,'sss');


Insert into n1
select * from n2

Вопрос.
Должна ли субд кричать на последний оператор,
или это допустимо?

Поля то разные в таблицах N1 N2.
...
Рейтинг: 0 / 0
24.01.2008, 06:33
    #35083573
BVF
BVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор Insert ?
Ошибка в предыдущем вопросе

О субд не говорим

Create table N2
(f1 integer,f22 varchar(100),Primary key(f1));

Create table N1
(f1 integer,f2 varchar(100),Primary key(f1));

Insert into n2
values(1,'sss');


Insert into n1
select * from n2

Вопрос.
Должна ли субд кричать на последний оператор,
или это допустимо?

Поля то разные в таблицах N1 N2.
N1.f2 N2.f22
...
Рейтинг: 0 / 0
24.01.2008, 08:33
    #35083646
Оператор Insert ?
BVFОшибка в предыдущем вопросе

О субд не говорим

Create table N2
(f1 integer,f22 varchar(100),Primary key(f1));

Create table N1
(f1 integer,f2 varchar(100),Primary key(f1));

Insert into n2
values(1,'sss');


Insert into n1
select * from n2

Вопрос.
Должна ли субд кричать на последний оператор,
или это допустимо?

Поля то разные в таблицах N1 N2.
N1.f2 N2.f22
ИМХО, это должно быть допустимо. Тут ведь важно не наименование полей, а хранящиеся в них данные (точнее, их тип) и порядок следования полей.
Т.е., если в таблице N2 и в select'e поля идут в порядке: integer, varchar, то ошибки не будет; если в select'e поля идут в порядке: integer, varchar, в N2 в порядке: varchar, int, то ошибка неизбежна.
...
Рейтинг: 0 / 0
24.01.2008, 10:45
    #35083961
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор Insert ?
Поэтому после наименования таблицы предпочтительнее явно перечислять поля. Больше писать, зато меньше вероятность ошибки, поскольку глядя на оператор, непонятно, в какое поле что записывается - надо доп. смотреть на структуру таблицы
...
Рейтинг: 0 / 0
24.01.2008, 12:52
    #35084506
ЮВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор Insert ?
BVF
Вопрос.
Должна ли субд кричать на последний оператор,
или это допустимо?


В СУБД ЛИНТЕР это отрабатывет, в других СУБД тоже должно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Create or replace table N2
(f1 integer,f2 varchar( 100 ),Primary key(f1));

Create or replace table N1
(f1 integer,f2 varchar( 100 ),Primary key(f1));

Insert into n2  values( 1 ,'sss');


Insert into n1 select * from n2;
select * from n1;
|     1 |     sss|
...
Рейтинг: 0 / 0
11.02.2008, 10:20
    #35123362
PSmith
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор Insert ?
ЮВ
Должна ли субд кричать на последний оператор, или это допустимо?


А чтоб не кричала можно так

Код: plaintext
1.
2.
3.
4.
5.
6.
Create or replace table N2 (f1 integer,f22 varchar( 100 ),Primary key(f1));

Create or replace table N1 (f1 integer,f2 varchar( 100 ),Primary key(f1));

Insert into n2  values( 1 ,'sss');

Insert into n1 select f1, f22 as f2 from n2;
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Оператор Insert ? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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