Я хочу вставить первые 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 внутри хранимых процедур, или любые другие способы, которые вышеописанно достигаются более элегантно.