Новый (i sh) в SQL, только что обнаруженные хранимые процедуры.
Реструктуризация монолитного c Python 3.7 скрипта.
Вот моя хранимая процедура:
CREATE PROCEDURE domSel(IN xip VARCHAR(16))
BEGIN
SELECT domain FROM pytest.nodes2 WHERE ip = xip
END;
Выбирает домен на основе IP. Исходный фрагмент кода в Python выглядит следующим образом:
for i,x,y in ip_ll:
cursorA.execute("SELECT domain FROM pytest.nodes2 WHERE ip = '" + str(i) + "'")
hosts_low.append(cursorA.fetchone())
ips_low_latency.append(i)
lat_low.append(x)
Предполагается, что следующей строкой будет замена:
# The #s are of course the IP address.
result_arg = cursorA.callproc('domSel', args=('###.##.###.###,))
print(result_arg[1])
Но он выдает ошибку:
Traceback (most recent call last):
File "./2queryMagic.py", line 45, in <module>
print(result_arg[1])
IndexError: tuple index out of range
Я пытался напечатать arg [0], но, конечно, это имя аргумента. Я попытался перебрать результаты в a для l oop, это тоже не сработало ... Python, похоже, не вызывает процедуру. Надеюсь, это достаточно информации, ударив меня головой о стол.