Передача строки в хранимую процедуру из Python - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь передать строку хранимой процедуре, написанной на Python с использованием SQL Server 2017.

То, что я хочу сделать, похоже на:

DROP PROCEDURE IF EXISTS hello;
GO

CREATE PROCEDURE hello (@my_text varchar(100))
AS  
BEGIN  
EXEC sp_execute_external_script @language = N'Python',   
@script = N'
print("Hello ", my_text)
'
END
GO

EXEC hello "world"
GO

Этот скрипт завершается с:

NameError: имя 'my_text' не определено.

1 Ответ

0 голосов
/ 03 апреля 2019

Вам нужно вставить переменную SQL @my_text в фрагмент Python.

CREATE PROCEDURE hello (@my_text varchar(100))
AS  
BEGIN  
DECLARE @s nvarchar(100)
SET @s = 'print("Hello ", "' + @my_text + '")'
EXEC sp_execute_external_script @language = N'Python',   
@script = @s
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...