在 oracle apex (v20) 中插入当前日期时间 Python
Inserting current date time in oracle apex (v20) Python
我在 Python 中使用 cx_Oracle 来更新 Apex table 中的时间戳列。
这是我所做的:
sql1 = ('SELECT * from ab.TEMPTABLE');
sql2 = ('UPDATE AB.CTIMEUPDATED SET TSTAMP = SYSTIMESTAMP')
try:
connection=self.get_connection()
with connection.cursor() as cursor:
cursor.execute(sql2)
cursor.execute(sql1)
这不会更新 CTIMEUPDATED
table 中的值,但是如果
我 运行 在 Python 之外的 SQL 命令浏览器中使用相同的命令,它工作得很好。
我也尝试过类似的其他选择
d=datetime.datetime.now()
dtime=d.strftime("YYYY/MM/DD HH:mm:ss (%Y/%m/%d %H:%M:%S)")
cursor.prepare( "INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS))" )
cursor.setinputsizes(TS=cx_Oracle.TIMESTAMP)
cursor.execute(None, {'TS':dtime})
或
cursor.execute("INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS, 'yyyy/mm/dd hh24:mi:ss'))", {'TS': dtime})
没有任何效果,也没有错误。
CTIMEUPDATED
table 有一个列 TSTAMP
不可为空且数据类型为 TIMESTAMP(6)
注意:我不需要毫秒,只有日期和时间应该没问题
这里有两个选择
要么你commit
使用相应的方法进行交易
cursor.execute("INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS, 'yyyy/mm/dd hh24:mi:ss'))", {'TS': dtime})
connection.commit()
或者您使用 autocommit
设置为 ON
connection.autocommit = True
cursor.execute("INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS, 'yyyy/mm/dd hh24:mi:ss'))", {'TS': dtime})
我在 Python 中使用 cx_Oracle 来更新 Apex table 中的时间戳列。
这是我所做的:
sql1 = ('SELECT * from ab.TEMPTABLE');
sql2 = ('UPDATE AB.CTIMEUPDATED SET TSTAMP = SYSTIMESTAMP')
try:
connection=self.get_connection()
with connection.cursor() as cursor:
cursor.execute(sql2)
cursor.execute(sql1)
这不会更新 CTIMEUPDATED
table 中的值,但是如果
我 运行 在 Python 之外的 SQL 命令浏览器中使用相同的命令,它工作得很好。
我也尝试过类似的其他选择
d=datetime.datetime.now()
dtime=d.strftime("YYYY/MM/DD HH:mm:ss (%Y/%m/%d %H:%M:%S)")
cursor.prepare( "INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS))" )
cursor.setinputsizes(TS=cx_Oracle.TIMESTAMP)
cursor.execute(None, {'TS':dtime})
或
cursor.execute("INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS, 'yyyy/mm/dd hh24:mi:ss'))", {'TS': dtime})
没有任何效果,也没有错误。
CTIMEUPDATED
table 有一个列 TSTAMP
不可为空且数据类型为 TIMESTAMP(6)
注意:我不需要毫秒,只有日期和时间应该没问题
这里有两个选择
要么你commit
使用相应的方法进行交易
cursor.execute("INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS, 'yyyy/mm/dd hh24:mi:ss'))", {'TS': dtime})
connection.commit()
或者您使用 autocommit
设置为 ON
connection.autocommit = True
cursor.execute("INSERT INTO AB.CTIMEUPDATED(Tstamp) VALUES(TO_DATE(:TS, 'yyyy/mm/dd hh24:mi:ss'))", {'TS': dtime})