Я хотел бы определить право собственности на папку. Поэтому каждая папка имеет постоянное соглашение об именах, которое хранится в таблице OWNER (ident_string). Использование ident_string Я хочу определить owner_id и записать его (update) в таблицу FOLDER (owner_id).SQL - Динамический поиск с регулярным выражением
я следующие таблицы в Postgresql:
create table owner(
owner_id serial PRIMARY KEY,
owner_name varchar(100),
ident_string varchar(100));
create table folder(
folder_id serial PRIMARY KEY,
folder_name varchar(80),
folder_path varchar(800),
owner_id integer references owner(owner_id));
insert into owner (owner_name, ident_string) values ('Jonny English','b-jonny');
insert into owner (owner_name, ident_string) values ('Hanna Babara','b-hanna');
insert into owner (owner_name, ident_string) values ('Mary Marmelade','b-mary');
insert into folder (folder_name,folder_path) values ('b-jonny-20130101','/archive/backup/b-jonny-20130101');
insert into folder (folder_name,folder_path) values ('b-jonny-20130103','/archive/backup/b-jonny-20130103');
insert into folder (folder_name,folder_path) values ('b-hanna-20140101','/archive/backup/b-jonny-20140101');
insert into folder (folder_name,folder_path) values ('b-mary-20120303','/archive/backup/b-mary-20120303');
Я думаю, что единственный Possiblity сделать это с помощью PL/PgSQL:
- итерации для имя_папки в ПАПКАХ над каждой строкой в ВЛАДЕЛЬЦЕ
- проверить для каждого ident_string для поиска owner_id.
Может ли кто-нибудь помочь мне?
Прохладный! Хорошее решение! – royskatt