Write psql script to find a phase `%abc%123%` in a given table `myTable`.
Answer:
DO $$
DECLARE
v_column_name text;
p_table_name text := 'myTable';
search_pattern text := '%abc%123%';
query_string text;
BEGIN
-- Create a dynamic query to search for the pattern in all columns
FOR v_column_name IN
SELECT column_name
FROM information_schema.columns
WHERE table_name = p_table_name
LOOP
query_string := format(
'SELECT * FROM %I WHERE %I::text LIKE $1',
p_table_name, v_column_name
);
-- Execute the dynamic query
EXECUTE query_string USING search_pattern;
END LOOP;
END $$;
No comments:
Post a Comment