我在oracledb中有一个表,我试图使用python脚本在其中插入多行。在
该表接受以下具有指定数据类型的字段 列-数据类型
TAG - NUMBER(38,0)
TAG_ID - NUMBER(38,0)
TAG_STATUS - NUMBER(38,0)
GROUP_ID - NUMBER(38,0)
LIC_PLATE - VARCHAR(20 BYTE)
LIC_PLATE_ID - CHAR(2 BYTE)
我使用的sql查询
^{pr2}$其中var1到var6,我从csv文件读取。例如,csv文件中的一行
var1 = '11011'
var2 = 25
var3 = 1
var4 = 66
var5 = 'BSB261'
var6 = 'IN'
当我尝试使用上述信息执行时,显然失败了
cursor.execute(q)
conn.commit()
cursor.close()
conn.close()
我已经研究过executemany()和其他示例,但我认为我无法获得表所期望的正确格式
请注意,如果我有硬编码的值,下面的查询可以正常工作
q = ("INSERT INTO TABLE (TAG, TAG_ID, TAG_STATUS_ID, GROUP_ID, LIC_PLATE, LIC_PLATE_ID) VALUES (11011, 25, 1, 66, 'BSB261', 'IN')")
感谢任何帮助 谢谢
找到了一种方法来完成这一点,所以写下我自己的答案(也许有更好的方法可以这样做,所以可以随意添加一些改进意见)
q = "INSERT INTO TABLE (TAG, TAG_ID, TAG_STATUS_ID, GROUP_ID, LIC_PLATE, LIC_PLATE_ID) VALUES(:TAG, :TAG_ID, :TAG_STATUS_ID, :GROUP_ID, :LIC_PLATE, :LIC_PLATE_ID)"
然后做:
curs.execute(q, TAG=var1, TAG_ID=var2, TAG_STATUS_ID=var3, GROUP_ID=var4, LIC_PLATE=var5, LIC_PLATE_ID=var6)
相关问题 更多 >
编程相关推荐