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'には、置換される%コードが含まれていないようです。1つの値を置き換えようとしていますが、すべてが使用されたわけではありません(つまり、何も置き換えられませんでした)。:TABLENAMEの代わりに%sを使用する必要があります。

于 2012-11-14T21:35:33.387 に答える