Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TQuery, добавление записей ........ / 2 сообщений из 2, страница 1 из 1
27.08.2002, 17:43
    #32046304
Денис В.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TQuery, добавление записей ........
Есть таблица из 10 полей (4 поля в купе составляют уник. ключ). Из этих 4 полей -одно поле является датой. Так вот мне надо создать таблицу(4 поля), и добавить туда записи , которые отсутствуют в первой таблице. Возможно ли это? Я не знаю как в запросе использовать переменные .... В голову приходит только идиотская мысль: создать таблицу, в цикле забить ее записями...... а потом запросом удалять все что уже есть в первой таблице ..... но на создание этой таблицы опять уйдет время из-за которого весь сыр-бор
Посоветуйте что нить..... рад буду всему
...
Рейтинг: 0 / 0
27.08.2002, 18:31
    #32046320
Denisco
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TQuery, добавление записей ........
Вот скриптик для MsSQl, вроде работает...

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tmp1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tmp1]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tmp2]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tmp2]
GO

CREATE TABLE [dbo].[tmp2] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[p1] [int] NULL ,
[p2] [int] NULL ,
[p3] [int] NULL ,
[d] [datetime] NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[tmp1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[p1] [int] NULL ,
[p2] [int] NULL ,
[p3] [int] NULL ,
[d] [datetime] NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[tmp1] WITH NOCHECK ADD
CONSTRAINT [IX_tmp1] UNIQUE NONCLUSTERED
(
[p1],
[p2],
[p3],
[d]
) ON [PRIMARY]
GO


insert into tmp1 (p1,p2,p3,d) values (1,2,3,convert(varchar(255),getdate(),12))
insert into tmp1 (p1,p2,p3,d) values (1,3,3,convert(varchar(255),getdate(),12))
insert into tmp1 (p1,p2,p3,d) values (1,3,4,convert(varchar(255),getdate(),12))
insert into tmp1 (p1,p2,p3,d) values (1,3,5,convert(varchar(255),getdate(),12))
insert into tmp1 (p1,p2,p3,d) values (1,3,6,convert(varchar(255),getdate(),12))
insert into tmp1 (p1,p2,p3,d) values (1,3,7,convert(varchar(255),getdate(),12))

insert into tmp2 (p1,p2,p3,d) values (1,2,3,convert(varchar(255),getdate(),12))
insert into tmp2 (p1,p2,p3,d) values (1,3,3,convert(varchar(255),getdate(),12))
insert into tmp2 (p1,p2,p3,d) values (1,3,4,convert(varchar(255),getdate(),12))

insert into tmp2 (p1,p2,p3,d) values (1,3,6,convert(varchar(255),getdate(),12))
insert into tmp2 (p1,p2,p3,d) values (1,3,7,convert(varchar(255),getdate(),12))

select * from tmp2

insert into tmp2 (p1,p2,p3,d)SELECT dbo.tmp1.p1, dbo.tmp1.p2, dbo.tmp1.p3, dbo.tmp1.d
FROM dbo.tmp1 LEFT OUTER JOIN
dbo.tmp2 ON dbo.tmp1.p1 = dbo.tmp2.p1 AND dbo.tmp1.p2 = dbo.tmp2.p2 AND dbo.tmp1.p3 = dbo.tmp2.p3 AND dbo.tmp1.d = dbo.tmp2.d
WHERE (dbo.tmp2.id IS NULL)

select * from tmp2
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TQuery, добавление записей ........ / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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