У меня есть следующая функция, которая извлекает данные из таблицы, но я хочу, чтобы передать имя таблицы в качестве параметра функции ...Как использовать переданный параметр как таблицу Name в Select query python?
def extract_data(table):
try:
tableName = table
conn_string = "host='localhost' dbname='Aspentiment' user='postgres' password='pwd'"
conn=psycopg2.connect(conn_string)
cursor = conn.cursor()
cursor.execute("SELECT aspects_name, sentiments FROM ('%s') " %(tableName))
rows = cursor.fetchall()
return rows
finally:
if conn:
conn.close()
, когда я называю функцию extract_data (Harpar): Harpar этого имени таблицы но он дает ошибку, что «Harpar» не определен .. какой-нибудь hepl?
'AsIs' не должен использоваться для этой цели, вместо этого следует использовать новый' sql' -модуль: http://stackoverflow.com/a/42980069/5285608 –
@ AntoineDusséaux: Согласен. Новый модуль sql обеспечивает гораздо более чистый метод составления динамических запросов. Я обновил старый ответ соответственно. – Noyer282