Переменная в файле sql с одинарной кавычкой
SELECT SWAP_PARTITIONS_BETWEEN_TABLES
(':SCHEMA_NAME.:TABLE_NAME',:PARTITION_KEY,:PARTITION_KEY,
':SCHEMA_NAME.:TABLE_NAME');
Это запрос vertica в файле sql:SCHEMA_NAME
а также :TABLE_NAME
в файле sql не заменяется аргументом, переданным, вероятно, из-за одинарных кавычек
1 ответ
Решение
Попробуй это:
\set source '''src_schema.src_table'''
\set target '''tgt_schema.tgt_table'''
SELECT SWAP_PARTITIONS_BETWEEN_TABLES
(:source,:PARTITION_KEY,:PARTITION_KEY,:target);
Если вы хотите использовать разные переменные для SCHEMA и TABLE, вы можете:
\set schema '''myschema'''
\set table '''mytable'''
А потом:
SELECT SWAP_PARTITIONS_BETWEEN_TABLES
(:schema||'.'||:table,:PARTITION_KEY,...);