2015-06-01 3 views
0

Как правильно цитировать эту строку это Postgres SQL синтаксис в моем питон скрипт, который использует psycopg2 в cur.execute ("SELECT .. ")питон - как правильно цитировать SQL-строку

Postgres SQL:

SELECT 'ALTER TABLE RENAME ' || tablename || ' TO ' || 
    REGEXP_REPLACE (tablename, '_foo$', '_bar') || ';' 
FROM pg_tables 
WHERE tablename LIKE '%_foo'; 

В моем питон скрипт:

cur.execute("SELECT 'ALTER TABLE RENAME ' || tablename || ' TO ' || 
       REGEXP_REPLACE (tablename, '_foo$', '_bar') || ';' 
       FROM pg_tables 
       WHERE tablename LIKE '%_foo'") 

ответ

1

Просто добавьте разрывы строк:

cur.execute("SELECT 'ALTER TABLE RENAME ' || tablename || ' TO ' || \ 
      REGEXP_REPLACE (tablename, '_foo$', '_bar') || ';' \ 
      FROM pg_tables \ 
      WHERE tablename LIKE '%_foo'") 
+1

Еще лучше использовать тройные кавычки ('' "" '), чтобы избежать прокрутки обратной косой черты для многострочных строк. – b4hand

Смежные вопросы