Я очень новичок в SQL. Все еще изучаю.
Я знаю, что postgres может хранить массив данных, но как мне выполнить операции с этими данными? У меня есть массив строк n-длины, предоставленный пользователем. Я хочу проверить, есть ли каждая строка в таблице, прежде чем вставлять ее.
Я сделал попытку, но я не знаю, правильно ли я это делаю. Я подключаюсь к БД с помощью Massive, если это помогает любому
Запрос сделан с массивом передаваемых строк.
DECLARE
a text[] = $1
FOREACH i IN ARRAY a
LOOP
DO
$do$
BEGIN
IF NOT EXISTS (SELECT tag_id FROM test_table WHERE tag_name = i) THEN
INSERT INTO test_table (tag_name)
VALUES ($1);
END IF;
END
$do$
END LOOP;
У меня есть «ошибка: синтаксическая ошибка в или около текста», но это может быть наименьшей из моих проблем.