|
|
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте друзья. Не без вашей помощи написал триггер на синхронизацию таблиц в двух разных базах данных. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но триггер переносит только вновь создаваемые объекты. При удалении объектов я так понимаю надо будет писать новый триггер, который будет срабатывать на delete. Мне даже в голову не приходит базовый синтаксис, дайте наводящие мысли пожалуйста. Вроде бы надо только поправить кусок кода Код: sql 1. Просто заменить в нем insert на delete? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:23:19 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовПросто заменить в нем insert на delete? и new на old ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:33:20 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Прочитав ваш другой пост, позволю себе потроллить: Это если вы не напишете delete into dorojnaya_set (...) values(...) по причине лени читать документацию xD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:40:32 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Hawkmoon, Ошибка PostGIS при удалении объектов: ОШИБКА: ошибка синтаксиса (примерное положение: "into") КОНТЕКСТ: Error occurred on dblink connection named "unnamed": could not execute command. SQL-оператор: "SELECT dblink_exec(format('delete into dorojnaya_set (id, the_geom, objectcode, objectkey, objectid) values (%s, CAST(%L AS geometry), %L, %L, %L)', old.id, old.the_geom, old.objectcode, old.objectkey, old.objectid))" функция PL/pgSQL dorojnaya_set_delete(), строка 4, оператор PERFORM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:47:11 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовЗдравствуйте друзья. Не без вашей помощи написал триггер на синхронизацию таблиц в двух разных базах данных. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но триггер переносит только вновь создаваемые объекты. При удалении объектов я так понимаю надо будет писать новый триггер, который будет срабатывать на delete. Мне даже в голову не приходит базовый синтаксис, дайте наводящие мысли пожалуйста. Вроде бы надо только поправить кусок кода Код: sql 1. Просто заменить в нем insert на delete? тормознее реализацию сложно представить. Перформанс совсем-совсем не важен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:48:30 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Наридан, вам сколько лет? Как можно человека, не знающего синтаксис основного SQL, вообще подпускать к программированию баз данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:54:11 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Ivan Durak, С моими знаниями мне бы для начало лишь бы работало. Чем же перфоманс так плох поясните пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:54:27 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовIvan Durak, С моими знаниями ... С вашими знаниями: Нариман АлимурадовSELECT dblink_exec(format(' delete into dorojnaya_set (id, the_geom, objectcode, objectkey, objectid) values (%s, CAST(%L AS geometry), %L, %L, %L) у вас ничего работать не будет. Начните с изучения основ SQL, а именно, синтаксиса select/update/delete ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:57:46 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Hawkmoon, С базовыми основами как SELECT, UPDATE, DELETE я знаком. Сколько мне лет неважно на самом деле. Важно то, что мне приходится порой решать задачи в той предметной области специалистом в которой я не являюсь, и цели стать таковым тоже нету, ибо зачем инженеру медтехнику SQL??? Периодически приходится сталкиваться с Базами Данных, мне вообще это все интересно и нравится, да вот времени в обрез, поверьте мне, было бы время непременно более глубже бы изучил. Я просто обратился за помощью, если в вашей компетенции помочь, помогите пожалуйста если нет и на добром слове спасибо. А ругать не надо(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:04:07 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовHawkmoon, ибо зачем инженеру медтехнику SQL Чтобы делать что-то на SQL, не? Я просто обратился за помощью, если в вашей компетенции помочь.... А ругать не надо(( Это в компетенции любого студента 2 курса профильного вуза. Если вы не учились - то вас именно что надо ругать. Возможно, даже gbplbnm. Если вы считаете, что за вами тут будут таскать горшок и подтирать попку - извините, у меня другие способы воспитания сынков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:09:58 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Более того: если вы не можете в гугле выяснить синтаксис команды SQL "delete", то вам вообще не место за компьютером по причине полной профессиональной непригодности . И это подтвердит любой из спецов тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:12:12 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовС базовыми основами как SELECT, UPDATE, DELETE я знаком Нариман Алимурадовformat('delete into dorojnaya_set (id, the_geom, objectcode, objectkey, objectid) values (%s, CAST(%L AS geometry), %L, %L, %L) Садись, два. Домашнее задание не выполнено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:14:31 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
HawkmoonБолее того: если вы не можете в гугле выяснить синтаксис команды SQL "delete", то вам вообще не место за компьютером по причине полной профессиональной непригодности . И это подтвердит любой из спецов тут. Я извиняюсь. По профессии я инженер-медтехник. Занимаюсь монтажом, ремонтом и продажами медоборудования. Я прекрасно чувствую себя в этой сфере. О каком несоответствии профессиональной негодности идёт речь?? Или вы с первой попытке самостоятельно сможете смонтировать рентген аппарат, или томограф? Еще раз я не претендую на звание спец в области SQL, мне это не надо . Выполнять простейшие запросы я могу, и выполняю. Пишу простые скрипты. но иногда приходится в авральном режиме решать какую то нетривиальную задачу. Синхронизация между базами данных для меня как раз такая задача. Вот потому я и обращаюсь к вам специалистам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:26:44 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовПишу простые скрипты. Вы их не пишите. Вы ведете себя в духе дуры-блондинки - читаете первое сообщение, дальше одни эмоции и только. Если вы перестанете оправдываться, возьмете себя в руки и прочитаете внимательно, что уже было сказано, то поймете, что все советы, ответы и указания уже даны. (впрочем, я уверен, что до фразы "вы перестанете оправдываться" вы не дочитаете и тем более не поймете из-за "дуры-блондинки". Тест, так сказать.) Впрочем, воспитывать двоечника, который не понимает даже тумаков, мне больше неохота. Удачи в дальнейшем общении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:32:16 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Hawkmoon, и вам добра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 11:33:48 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Hawkmoon, упс.. Простите за невнимательность. Поправил delete into на delete from, однако все равно при удалении объектов выдается ошибка. авторОШИБКА: ошибка синтаксиса (примерное положение: "(") КОНТЕКСТ: Error occurred on dblink connection named "unnamed": could not execute command. SQL-оператор: "SELECT dblink_exec(format('delete from dorojnaya_set (id, the_geom, objectcode, objectkey, objectid) values (%s, CAST(%L AS geometry), %L, %L, %L)', old.id, old.the_geom, old.objectcode, old.objectkey, old.objectid))" функция PL/pgSQL dorojnaya_set_delete(), строка 4, оператор PERFORM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:03:55 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
> Садись, два. файлы в базе данных давно перестал хранить? Буквари кури, школота. Рано тебе замечания делать. Лет через десять, возможно, дорастешь. Если дорастешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:05:36 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовHawkmoon, упс.. Простите за невнимательность. Поправил delete into на delete from, однако все равно при удалении объектов выдается ошибка. авторОШИБКА: ошибка синтаксиса (примерное положение: "(") КОНТЕКСТ: Error occurred on dblink connection named "unnamed": could not execute command. SQL-оператор: "SELECT dblink_exec(format('delete from dorojnaya_set (id, the_geom, objectcode, objectkey, objectid) values (%s, CAST(%L AS geometry), %L, %L, %L)', old.id, old.the_geom, old.objectcode, old.objectkey, old.objectid))" функция PL/pgSQL dorojnaya_set_delete(), строка 4, оператор PERFORM формат delete: delete from sometable where (набор условий по которым удалять аналогичный по синтаскису тому что в select используется); values() там не предусмотрены вам просто по id= удалять надо в вашем триггере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:15:32 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Э, уважаемый, А напомните, куда вас послали в том треде, где мы обсуждали хранение файлов в БД? У вас ники меняются, а так - рано вам напоминать мне про холиварные вопросы, ага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:20:11 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Благо, что выход с промывкой кэшей файлами я нашел, подняв параллельно два инстанса с разными областями ОЗУ. Но это к вам не относится, мистер тролль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:24:10 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, то есть, как то так? Код: sql 1. Но какую выборку по id делать, удаляться могут как один так и несколько записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:28:51 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман Алимурадов, Эм. А сколько у Вас записей (одна, ни одной, несколько) удаляется при срабатывании триггера ON DELETE на каждую строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 12:41:11 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
/\/\/\/\/\/\, теперь понятно. За одну транзакцию значит удаляется одна запись, я это все никак не мог понять. А как заставить удалить текущую запись? Что то вроде curent должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 14:03:20 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 14:58:44 |
|
||
|
Синхронизация таблиц из разных БД.
|
|||
|---|---|---|---|
|
#18+
Нариман АлимурадовЕще раз я не претендую на звание спец в области SQL, мне это не надо . Выполнять простейшие запросы я могу, и выполняю. Пишу простые скрипты. но иногда приходится в авральном режиме решать какую то нетривиальную задачу. Синхронизация между базами данных для меня как раз такая задача. Вот потому я и обращаюсь к вам специалистам.так специалисты и ответили в предыдущей вашей теме - надо использовать schema, view, function, grant. а решать вашу задачу через несколько баз, тригеры и dblink не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 15:56:44 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38649027&tid=1998670]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
308ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 679ms |

| 0 / 0 |
