Execute each command separately. I've never seen a DBAPI driver that
allows execution of more than one full command in the same query.
myStoredProcedure = ["""
IF object_id('mySP') IS NOT NULL
BEGIN
DROP PROCEDURE mySP
END""",
"""
CREATE PROCEDURE mySP
AS
DECLARE @aVar VARCHAR(48)
BEGIN
SELECT TOP 1
@aVar = aVar
FROM [dbo].[someTable] (UPDLOCK)
WHERE
priority > 0
ORDER BY
priority DESC
SELECT
@aVar AS aVar
END
"""]
for command in myStoredProcedure: engine.execute(command)