Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запрос в курсоре Python-а не приносит записей , хотя в Postgres-е приносит / 3 сообщений из 3, страница 1 из 1
27.01.2016, 12:52
    #39156454
Бока
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в курсоре Python-а не приносит записей , хотя в Postgres-е приносит
Фрагмент кода:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
import psycopg2
import sys
...
con = None

try:
port="5432")
    con = psycopg2.connect(database=DB_NAME, user=DB_USER, password=DB_PASS, host=DB_HOST, port=DB_PORT)
    cur = con.cursor()
    cur.execute('SELECT schema_name FROM public.boundaries WHERE active = TRUE')
    rows = cur.fetchall()
    print "rows = ", rows
    for row in rows:
        cur1 = con.cursor()
        cur1.execute("SELECT count(*) FROM INFORMATION_SCHEMA.tables WHERE table_schema = 'public' AND table_name = 'tb_alter_cid_log'")
        cnt = cur1.fetchone()
        if cnt:
          if cnt[0] == 0:
             cur2 = con.cursor()
             cur2.execute('CREATE TABLE public.tb_alter_cid_log (sch_name text COLLATE "default", tb_name  text COLLATE "default", tb_date  text, altering_coment text COLLATE "default", complete_time timestamptz(6)) WITH (OIDS=FALSE)')
             con.commit()
             cur2.close()

        cur3 = con.cursor()
        cur3.execute('SELECT COUNT(*) FROM public.tb_alter_cid_log')
        cnt3 = cur3.fetchone()
        if cnt3[0] == 0:
            print "cnt3 = ", cnt3[0]
            cur4 = con.cursor()
            print "schema_name = ", row[0]
            cur4.execute("SELECT SUBSTR(table_name,4,length(table_name)) FROM information_schema.tables WHERE table_schema = %s AND (table_name LIKE 'pr_%%' AND table_name NOT LIKE 'pr_st_%%' AND table_name NOT LIKE '%%_rp_%%') ORDER BY 1",(row[0],))
            rows4 = cur.fetchall()
            print "rows4 = ", rows4
            for row4 in rows4:
                print "date_num = ", row4[0]

except psycopg2.DatabaseError, e:
    print 'Error %s' % e
#           pass
    sys.exit(1)

finally:
    if con:
        con.close()


Результат выполнения:
Код: plaintext
1.
2.
3.
4.
5.
rows =  [('bz_00',)]
cnt3 =  0
schema_name =  bz_00
rows4 =  []

Process finished with exit code 0
В Postgres запрос
Код: plsql
1.
SELECT SUBSTR(table_name,4,length(table_name)) FROM information_schema.tables WHERE table_schema = 'bz_00' AND (table_name LIKE 'pr_%' AND table_name NOT LIKE 'pr_st_%' AND table_name NOT LIKE '%_rp_%') ORDER BY 1

приносит 2 значения

В чем проблема в Python-code ?
...
Рейтинг: 0 / 0
27.01.2016, 13:11
    #39156477
Бока
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в курсоре Python-а не приносит записей , хотя в Postgres-е приносит
Уже разобрался, тему можно дуалить
...
Рейтинг: 0 / 0
27.01.2016, 13:14
    #39156483
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в курсоре Python-а не приносит записей , хотя в Postgres-е приносит
БокаУже разобрался, тему можно дуалитьХорошим тоном считается написать решение. Возможно, кто-то столкнётся с подобным.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запрос в курсоре Python-а не приносит записей , хотя в Postgres-е приносит / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]