python - Teradatasql Python:无法传递列名
问题描述
我正在使用 teradatasql python 模块,我无法在文档中找到如何将命名参数传递到 cursor.execute()
我有带IN
参数的存储过程,但在 teradatasql 中我看不到传递列名的选项。有什么办法吗?
这是我的 PROC 的一些片段,它带有IN
参数
(
IN transId VARCHAR(50),
IN name VARCHAR(50),
IN add VARCHAR(50),
IN zip VARCHAR(50),
IN area VARCHAR(50)
)
代码
with teradatasql.connect ('{"host":"whomooz","user":"guest","password":"please"}') as con:
with con.cursor () as cur:
cur_execute (cur, "{call examplestoredproc (?, ?)}", [10, 7]) # bound parameter values
def cur_execute (cur, sSQL, params=None):
print ()
print ("cur.execute", sSQL, "bound values", params)
cur.execute (sSQL, params)
解决方案
我正在使用 teradatasql python 模块,我无法在文档中找到如何将命名参数传递到 cursor.execute()
Teradata Database 不支持按名称绑定存储过程参数值。因此,teradatasql 驱动程序也不支持。
您必须在对存储过程的调用中指定问号参数标记,并且必须指定按位置绑定到问号参数标记的未命名存储过程参数值。
推荐阅读
- html - 如何在行的中心添加水平线我想在 vue.js 中添加一些内容?
- reactjs - React Hook useEffect 缺少依赖项:xxx。要么包含它们,要么删除依赖数组 react-hooks/exhaustive-deps
- python - 尽管代码似乎很好,为什么 pyautogui 无法找到我的图像?
- laravel - Laravel URL 开头带有可选参数
- macos - 电子生成器中的 mac-screen-capture-permissions 构建失败
- json - 如何在 Swift 中将 JSON 响应添加到当前日期的时间
- python - 将字符打印为其转义版本而不是代码
- javascript - 需要使用 java 脚本连同日期将以下字符串转换为 JSON 对象
- c++ - C++ EnumWindows 有时不返回窗口标题
- c# - 如何使用 UI 运行 Specflow 步骤定义?