0

我正在尝试在 SQL 中绑定一个参数:

sql = "SELECT COLUMN_NAME,DATA_TYPE FROM USER_TAB_COLS WHERE TABLE_NAME=UPPER(:TABLENAME)"
print 'TABLENAME=',TABLENAME
sqlqry = sql %(TABLENAME)

但得到字符串格式错误:

TypeError: not all arguments converted during string formatting

可能是什么问题呢?

4

2 回答 2

1

您的字符串中缺少占位符。

你想用我怀疑:TABLENAME的字符串替换。sql%s

于 2012-11-14T21:34:10.913 回答
0

您确实应该发布更多代码以使其完全清楚,但看起来字符串 'sql' 不包含任何要替换的 %-codes。您正在尝试替换一个值,但并非所有这些值都被使用(换句话说,没有任何东西被替换)。您应该使用 %s 而不是 :TABLENAME。

于 2012-11-14T21:35:33.387 回答