powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Взаимодействие Postgre и 1 с
17 сообщений из 17, страница 1 из 1
Взаимодействие Postgre и 1 с
    #39212524
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Я 1с -ник , в субд Postgre новичок.

В Postgre хранятся данные об абонентах - таблица Kartab_askue(далее картаб) и оплаты таблица Kartkvgd_askue(далее картвгд).

Мне надо выбрать определенные поля из таблиц так что бы из картвгд попадали оплаты за последний период, а из картаба все абоненты(поле лицевой счет уникально в картабе ). Соединяю таблица по поле картаб.


В 1 с использую код, работая через odbc драйвер 32 разрядный(создал источник)
код 1 с
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Сервер="*****";
	Порт="****";
	База="*****";
	Пользователь="*****";
	Пароль="******";
	
	Connection = Новый COMОбъект("ADODB.CONNECTION");
	Попытка 
		
	Connection.Open("Driver={PostgreSQL Unicode};data source=PostgreSQL35W;Server="+Сервер+";Port=" + 
							   Порт+";Database="+База+";Uid="+Пользователь+";Pwd="+Пароль+";STMT="+"utf8");
		   
   Исключение 
       Сообщить("Ошибка соединения:"+ОписаниеОшибки()); 
       Возврат; 
   КонецПопытки; 
  
   
   RecordSet = Новый COMОбъект("ADODB.Recordset");
  попытка
   ТекстЗапросаMYSQL="запрос";

 RecordSet.Open(ТекстЗапросаMYSQL,Connection );
		
		
	исключение
		Сообщить ("Проблемы с выполнением запроса");
		Сообщить(ОписаниеОшибки());
		Возврат;
	КонецПопытки;



Запрос написал следующий
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab_askue.lic_sch,
kartab_askue.data_kon,
kartab_askue.date_kon,
kartab_askue.base 
from 
kartab_askue Left JOIN (select t1.yearmon,
t1.lic_sch,
kartkvgd_askue.data_new
from 
(select MAX(kartkvgd_askue.yearmon) yearmon,
kartkvgd_askue.lic_sch
from 
kartkvgd_askue
where kartkvgd_askue.del=0
GROUP BY kartkvgd_askue.lic_sch) t1 inner join kartkvgd_askue
on t1.lic_sch=kartkvgd_askue.lic_sch and t1.yearmon=kartkvgd_askue.yearmon) t2
on kartab_askue.lic_sch=t2.lic_sch
where kartab_askue.del=0



Субд хочу использовать как внешний источник .
1. создать таблицу где будут хранится результат этого запроса
2. Из этой таблицы выбрать все лицевые счета передать на 1 с -1с на веб-сервис оттуда на 1 с - и снова на Postgre,
Записать в таблицу новые поля (данные из веб-сервиса) Update
3.Сделать обработку этой таблицы (т.е выборка по удовлетворяющим условиям, осталье записи мусор) и результат выгрузить в новую таблицу (Искомые данные).
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212536
g2099599
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olegon7,

А вопрос-то в чем?!
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212541
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
g2099599,

как создать таблицу и вставить туда результат моего запроса?
по каким полям посоветуете ключи
записей будет примерно 60 тыс ежемесячно, таблица будет накапливаться.
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212551
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yearmon (дата последней оплаты)
lic_sch (лицевой счет)
data_new (показания последующие)
data_kon (показания последнего обхода контроллера)
date_kon (дата последнего обхода)
base (рэс район)
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212553
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запросы на выборку умею делать
а на вставку изменения очень мало опыта
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212586
g2099599
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212615
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
g2099599,

создавать таблицу я буду вручную и один раз. Пэтому create table as не подойдет
ежемесячно туда будут падать 60 тыс записей

может есть у кого пример хранимой процедуры,
которая пишет результат запроса в таблицу?
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212744
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7,

Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE my_new_table AS
SELECT /* запрос полностью */
 WHERE 1=0; /* "выключаем" записи, т.е. только определение таблицы */

INSERT INTO TABLE my_new_table
SELECT /* тот же запрос, без ограничений */
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212782
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorov,

спасибо
только во втором случае без table

Я работаю с Navicat там куча доп настроек

может кто подскажет как хранимую процедуру( если она на Постгре) написать
с запросом
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212804
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorov,

еще такой момент в новой таблице создалось поле ай ди оно уникально

второй запрос при повторном выполнении ругается, оно и понятно ай ди повторяется
как написать что бы автоматом проставляла айдишник при заполнии записей в новую таблицу
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39212906
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7,

Я бы переделал первичный ключ: вместо просто ID составной, скажем load_ts (с `DEFAULT now()`) + ID.
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39213185
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorov,

можно поподробнее по поводу составного первичного ключа
и `DEFAULT now()`
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39213215
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7можно поподробнее по поводу составного первичного ключа и `DEFAULT now()`
Можно посмотреть что у вас уже имеется?
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39213237
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorov,

1.Мне надо спроектировать таблицу
с полями
id AUTO_INCREMENT
date1_record ('default ???) первое число месяца когда произошла запись в таблицу - есть ли вообще такая функция???
date_record ('default now()) дата когда произошла запись
я так понимаю по первым трем полям можно сделать составной индекс

lic_sch
fam
name
otch
kod_st
kod_tn
yearmon
data_new
data_kon
date_kon
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39213439
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7,

Если вам требуется ключ SERIAL ( это так в Postgres'е называется ), то каким образом у вас возникают ошибки уникальности? Оставляйте это поле пустым при вставке и всё будет.

Первое число месяца есть усечение даты или точки до заданной размерности.

Умолчательные выражения указываются при создании таблицы .
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39213699
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vyegorov,

еще один вопрос

сформирую таблицу с полями и заполню данными в postgre
лиц_сч
поле1
поле2

...
полен

на 1 с получаю массив из данных в формате json с полями- лиц_сч, поле1, поле2 .... полен

как оптимальнее проапдейтить таблицу в postgre по полю лиц_сч, т.е если лицевые счета совпадают , то заполнить поля поле1, поле2
новыми значениями
если нет, то просто пропустить эти поля
...
Рейтинг: 0 / 0
Взаимодействие Postgre и 1 с
    #39213789
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7,

База называется PostgreSQL, можно сократить до Postgres. Используйте имя правильно.

Используйте UPDATE ... FROM , что-то типа:

Код: sql
1.
2.
3.
4.
UPDATE tab
   SET f1 = json.f1, f2 = json.f2, ...
  FROM (SELECT ... ) json
 WHERE tab.acc_id=json.acc_id;


В SET-списке префикс изменяемой таблицы использовать не надо !
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Взаимодействие Postgre и 1 с
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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