Включить sql подсветку для строк в кавычках? - PullRequest
0 голосов
/ 08 января 2020

Поэтому мне нужно написать несколько динамиков c sql, например,

-- expects stmt to contain '%1$I' wherever the table name should be inserted
CREATE OR REPLACE FUNCTION executeForEachFooBarTable(stmt TEXT) RETURNS VOID AS $function$
DECLARE
    foobar TEXT;
    foobar_tables TEXT[] := array['foo', 'bar', 'baz', 'bam'];
BEGIN
    FOREACH foobar IN ARRAY foobar_tables LOOP
            EXECUTE format(stmt, foobar);
        END LOOP;
END $function$
LANGUAGE plpsql VOLATILE;

DO $addSunshineColumnToFoobarTables$ BEGIN
    PERFORM executeForEachFooBarTable($$
        ALTER TABLE %1$I
            ADD COLUMN is_sun_shining BOOLEAN DEFAULT TRUE
        ;
        UPDATE f
            SET f.is_sun_shining = w.is_sunny
            FROM %1$I f
                LEFT JOIN weather_station w ON f.weather_station_id = w.id
        ;
    $$);
END $addSunshineColumnToFoobarTables$;

IntelliJ, настаивает на том, что оператор является строкой (и это правильно в этом, предоставлено), и отображает его в полностью зеленый.

Есть ли способ сделать так, чтобы он выделил синтаксис в строке? Я думаю, что есть пара SQL редакторов, которые сделали бы это?

1 Ответ

1 голос
/ 08 января 2020
...