如何在 MySQL 中设置存储过程来使用外部变量。 我以前写过SP,但没有使用外部输入。使用来自 pyODBC 的连接字符串。
然后,使用 python 如何调用该 Sp 并输入该变量?
cursor.execute('Call d.MySP' ????)
最佳答案
假设您正在使用MySQLdb,根据the docs ,调用将是:
cursor.callproc('d.MySP',args)
深入了解变量的设置以及 CALL
语句的制作方式:
def callproc(self, procname, args=()):
from types import UnicodeType
db = self._get_db()
charset = db.character_set_name()
for index, arg in enumerate(args):
q = "SET @_%s_%d=%s" % (procname, index,
db.literal(arg))
if isinstance(q, unicode):
q = q.encode(charset)
self._query(q)
self.nextset()
q = "CALL %s(%s)" % (procname,
','.join(['@_%s_%d' % (procname, i)
for i in range(len(args))]))
if type(q) is UnicodeType:
q = q.encode(charset)
self._query(q)
self._executed = q
if not self._defer_warnings: self._warning_check()
return args
关于python - 在 Python 和 MySQL 的存储过程中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5169302/