Я хочу вставить первые 20 строк из таблицы tbl_A в db_A в tbl_B в db_B.
Схема для tbl_A и tbl_B:
CREATE TABLE <tbl_name> (
id serial PRIMARY KEY,
int a,
int b
);
У меня есть несколько вопросов, связанных со следующими запросами
psql db_A
SELECT dblink_connect("dbname=db_B");
SELECT dblink_open('curse', 'SELECT id, a, b FROM tbl_B');
INSERT INTO tbl_A (SELECT id, a, b FROM dblink_fetch('curse', 20) AS (s_is int, s_a int, s_b int)) RETURNING a;
- Могу ли я поместить следующие операторы в хранимую процедуру:
- Можно ли создать хранимую процедуру из трех вышеуказанных операторов вместе и создать подготовленный оператор этой процедуры.
Я был бы очень признателен, если кто-нибудь может прокомментировать, насколько хорошо использовать курсор или использовать dblink внутри хранимых процедур или любые другие способы, которые выше, достигаются более элегантно.