插入变量使用Python插入命令Oracle

2024-10-08 18:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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')")

感谢任何帮助 谢谢


Tags: 文件csvinidnumbertagstatusgroup
1条回答
网友
1楼 · 发布于 2024-10-08 18:26:13

找到了一种方法来完成这一点,所以写下我自己的答案(也许有更好的方法可以这样做,所以可以随意添加一些改进意见)

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)

相关问题 更多 >

    热门问题