MS SQL передать параметры выборки в код Python
Есть база, в ней есть таблица, пишу триггер который при обновлении в таблице выполняет некий код Python3. Уже делал подобное некоторое время назад но забыл как передавать в код Python значение из нужной колонки. Кажись что-то связано с pandas для парсинга таблицы.
Пример. Есть таблица Clients:
Account_number Amount mgd_uniq Name Code CreateAt
123456789 177.50 79842 NULL NULL 2021-09-14 16:41:51
При update столбцов Name и Code хочу забирать значение Amount и использовать его в следующем примере кода:
CREATE TRIGGER Clients_UPDATE
ON Clients
AFTER UPDATE
AS
BEGIN
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
import requests
s = requests.Session()
#code
#code
#code
payload = {
"amount": amount,
}
headers = {
"Content-Type": "application/json",
}
sub_amount = s.post(url, json=payload, headers=headers)';
END
Ответы (1 шт):
Автор решения: TheZinter
→ Ссылка
Вспомнил зачем панда) Чтобы распарсить выборку из панда.датафрейм:
CREATE TRIGGER Clients_UPDATE
ON Clients
AFTER UPDATE
AS
BEGIN
DECLARE @Input_Query NVARCHAR(MAX) = N'SELECT Amount FROM Clients where id = (SELECT MAX(id) from Clients)';
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
import requests
import pandas
s = requests.Session()
#code
#code
#code
payload = {
"amount": int(some_data.loc[0].at["Amount"]),
}
headers = {
"Content-Type": "application/json",
}
sub_amount = s.post(url, json=payload, headers=headers)
',
@input_data_1 = @Input_Query,
@input_data_1_name = N'some_data';
END