powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TQuery, добавление записей ........
2 сообщений из 2, страница 1 из 1
TQuery, добавление записей ........
    #32046304
Денис В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица из 10 полей (4 поля в купе составляют уник. ключ). Из этих 4 полей -одно поле является датой. Так вот мне надо создать таблицу(4 поля), и добавить туда записи , которые отсутствуют в первой таблице. Возможно ли это? Я не знаю как в запросе использовать переменные .... В голову приходит только идиотская мысль: создать таблицу, в цикле забить ее записями...... а потом запросом удалять все что уже есть в первой таблице ..... но на создание этой таблицы опять уйдет время из-за которого весь сыр-бор
Посоветуйте что нить..... рад буду всему
...
Рейтинг: 0 / 0
TQuery, добавление записей ........
    #32046320
Denisco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот скриптик для 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
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TQuery, добавление записей ........
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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