Найти - Пользователи
Полная версия: Алиасы для таблиц.
Начало » Базы данных » Алиасы для таблиц.
1
Unnamed
Доброго времени суток.

Подскажите.
Есть, очень много строк, что-то вроде:
cr.execute(“select name from spr_module where state = ‘ok’”)

Как поменять таблицу выборки, сделать, чтобы выборка проводилась не с таблицы “spr_module”, а, допустим, с “one_spr_module”, не меняя самой строки приведенной выше?

Есть что-то вроде алиасов, чтобы можно было присвоить в начале программы таблице “old_spr_module” алиас “spr_module” и не менять тысячи строк исходного кода?..

Ситуация такая.
Необходимо разделить в БД таблицы на несколько вариантов(копий):
было Табл_1, Табл_2…. Табл_N ,
стало Табл_1а, Табл_1б, Табл_1в, Табл_2а, Табл_2б, Табл_2в… и т.д.,
Как это сделать без серьезных изменений в исходных кодах и перебираний всех строк запросов?
shiza
Есть такая штука - View называется.

Еще как вариант есть очень клевая технология - Find&Replace. =)
kovleon
To shiza:
К сожалению, нужно запись проводить в таблицы, не только выборки. Есть байт код без исходников(мало, но есть), а что вних - не известно, может тоже, SQL выборки-изменения…
balu
Unnamed
cr.execute(“select name from spr_module where state = ‘ok’”)

Как поменять таблицу выборки, сделать, чтобы выборка проводилась не с таблицы “spr_module”, а, допустим, с “one_spr_module”, не меняя самой строки приведенной выше?
Например, так:

tables =
for table in tables:
cr.execute(“select name from %s where state = ‘ok’” % table)
slav0nic
balu, только


cr.execute(“select name from %s where state = ‘ok’”, (table, ))


так как бы безопасней и “по правилам” ;)
shiza
kovleon
To shiza:
К сожалению, нужно запись проводить в таблицы, не только выборки. Есть байт код без исходников(мало, но есть), а что вних - не известно, может тоже, SQL выборки-изменения…
Хм. В байт-коде SQL запросы должны быть в виде строк.
Его можно легко декомпилировать - сделать Find&Replace и обратно скомпилировать ;)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB