Я пытаюсь перечислить все противоречия, которые соответствуют критериям, а затем отбросить их,
DO $$
DECLARE r RECORD;
BEGIN
FOR r in SELECT
conrelid::regclass,
conname
FROM
pg_constraint
WHERE
contype IN ('u')
AND connamespace = 'public'::regnamespace
AND conname ~* '_key'
LOOP
EXECUTE 'ALTER TABLE % DROP CONSTRAINT %',r.conrelid, r.conname;
END LOOP;
END;
$$
Когда я выполняю это, я получаю
ERROR: query "SELECT 'ALTER TABLE % DROP CONSTRAINT %',r.conrelid, r.conname" returned 3 columns
CONTEXT: PL/pgSQL function inline_code_block line 14 at EXECUTE
SQL state: 42601
Почему возвращаются 3 столбца?