Получение информации о столбце в cx_oracle, когда таблица пуста?

Усовершенствованная версия примера sed находит общий префикс N строк (N> = 0):

string1="test toast"
string2="test test"
string3="teaser"
{ echo "$string1"; echo "$string2"; echo "$string3"; } | sed -e 'N;s/^\(.*\).*\n\1.*$/\1\n\1/;D'

Если строки хранятся в массиве, их можно передать в sed с printf :

strings=("test toast" "test test" "teaser")
printf "%s\n" "${strings[@]}" | sed -e '$!{N;s/^\(.*\).*\n\1.*$/\1\n\1/;D;}'

Вы также можете использовать здесь здесь :

strings=("test toast" "test test" "teaser")
oIFS=$IFS
IFS= 

Здесь (как и все перенаправления) может идти куда угодно в пределах простой команды.

\n' <<<"${strings[*]}" sed -e '$!{N;s/^\(.*\).*\n\1.*$/\1\n\1/;D;}' IFS=$oIFS # for a local IFS: (IFS=

Здесь (как и все перенаправления) может идти куда угодно в пределах простой команды.

\n'; sed -e '$!{N;s/^\(.*\).*\n\1.*$/\1\n\1/;D;}' <<<"${strings[*]}")

Здесь (как и все перенаправления) может идти куда угодно в пределах простой команды.

6
задан UberJumper 5 June 2009 в 14:13
поделиться

1 ответ

Я думаю, что атрибут description может быть тем, что вы ищете. Это возвращает список кортежей, описывающих столбцы возвращаемых данных. Он отлично работает, если не возвращаются строки, например:

>>> import cx_Oracle
>>> c = cx_Oracle.connect("username", "password")
>>> cr = c.cursor()
>>> cr.execute("select * from dual where 1=0")
<__builtin__.OracleCursor on <cx_Oracle.Connection to user username@local>>
>>> cr.description
[('DUMMY', <type 'cx_Oracle.STRING'>, 1, 1, 0, 0, 1)]
13
ответ дан 8 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: