我希望在oracle数据库11.2.0.4版上的PL/SQL ETL进程中插入具有时间戳列的表中的数据
如果在Toad中运行“Create INSERT from seletcted row”,将得到以下SQL命令:
Insert into xxxx$1
(ID, ITEM, ITEMSIZE, QUALITY, MATERIAL,
COLOUR, IMAGEURL, CREATIONDATE, SAMPLEITEMNUMBER, ITEMNUMBER)
Values
(111, 339079775, '1', 'Microfaser PRIMABELLE®', 'TEXTILE',
'1 (=creme)', 'url', TO_TIMESTAMP('27.06.2016 15:49:35.000000','DD.MM.YYYY HH24:MI:SS.FF'), 'xxx', 'xxxx');
COMMIT;
在PL/SQL中,我生成一个varchar2/string,类似于:
v_sql :=
'INSERT INTO xxxx'
|| p_importpostfix
|| ' VALUES ('
|| seq_xxxx.NEXTVAL
|| ','
|| v_rec.item_id
|| ', '''
|| v_size
|| ''','''
|| v_quality
|| ''','''
|| v_material
|| ''','''
|| v_colour
|| ''','''
|| NULL
|| ''',to_timestamp('''|| to_char( sysdate, 'DD.MM.YYYY HH24:MI:SS')||''',''DD.MM.YYYY HH24:MI:SS.FF''),'''
|| v_rec.vid
|| ''','''
|| v_rec.vid
|| ''')';
不确定这是否是问题所在,但它似乎更容易使用字面上的sysdate。
您似乎插入了字符串'null'。如果要插入空值,则不需要使用多个单引号,因为最后一个字符串不需要单引号来插入空值。
v_sql :=
'INSERT INTO xxxx'
|| p_importpostfix
|| ' VALUES ('
|| seq_xxxx.NEXTVAL
|| ','
|| v_rec.item_id
|| ', '''
|| v_size
|| ''','''
|| v_quality
|| ''','''
|| v_material
|| ''','''
|| v_colour
|| ''','
|| 'NULL,'
|| 'SYSDATE,'
|| ''''
|| v_rec.vid
|| ''','''
|| v_rec.vid
|| ''')';
编辑
v_sql := 'INSERT INTO xxxx' || p_importpostfix || ' VALUES(:1,:2,:3,:4,:5,:7,:8,:9,:10)';
v_null := NULL;
EXECUTE IMMEDIATE v_sql USING IN seq_xxxx.NEXTVAL,
IN v_rec.item_id,
IN v_size,
IN v_quality,
IN v_material,
IN v_colour,
IN v_null,
IN SYSTIMESTAMP,
IN v_rec.vid,
IN v_rec.vid;
问题内容: 我使用此查询创建了一个表现 在,当我尝试使用插入一些数据时,遇到此错误。 我做错了什么? 问题答案: 不是日期,而是一个字符串。 当使用session参数的值作为格式掩码将Oracle非日期文字插入到列中时,Oracle将对其进行隐式处理( 注意:这是一个session参数,属于客户端;它不是全局设置 )。如果非日期文字与该格式匹配,则它将起作用(如果不匹配,则它将不起作用)-但是,如
我在Oracle DB中有一个列,它是数据类型。存储在此列中的典型值类似于。我试图得到所有的记录,其中该专栏有记录后2015年8月1日。 但是,我得到的是。我哪里做错了?
我得到java.sql.sqlDataException:ORA-01843:运行时不是一个有效的月份。任何帮助都很感激!
我使用以下查询创建了一个表 现在,当我尝试使用SQL错误:ORA-01843:not a valid month。 我做错了什么?
这是我的oracle sql查询。我正在用Python运行它。当我在Oracle SQL Developer中运行它时,它会给出结果,但每当我试图在pycharm中执行它时,就会出现以下错误: cx_oracle.databaseError:ORA-01843:不是有效月份 当我跑的时候 这在oracle sql developer中显示
下面是查询