Sachu
Sachu

Reputation: 7766

Invalid character error when inserting data with select statement in Oracle

I am trying to insert a data from another table using below query

cmd_write = new OracleCommand(@"insert into table1 (f_id, f_name, s_id, r_id,
       t_date, t_type, sys_entry_date, parent_sys_id, sys_f_source)
      select 
          f_id, f_name, s_id, r_id,
          t_date, 1, sysdate, sys_id, sys_file_source 
      from table2 
      where sys_id = :sy_id 
      returning sys_id
        into :sys_get_id ", ora_con);

cmd_write.Parameters.Add(new OracleParameter("sy_id", sys_id));

OracleParameter sys_get_id = new OracleParameter("sys_get_id", OracleDbType.Int64);
sys_get_id.Direction = ParameterDirection.Output;
cmd_write.Parameters.Add(sys_get_id);
cmd_write.CommandTimeout = 0;

cmd_write.ExecuteNonQuery();

I get this error:

ORA-00911: invalid character

Upvotes: 0

Views: 194

Answers (1)

T.S.
T.S.

Reputation: 19350

It looks like this is not possible. I tried this

create table A (c1 varchar(10) null);

declare 
   x varchar2(10);
   TYPE myType IS TABLE OF A.c1%TYPE INDEX BY BINARY_INTEGER;
   vData myType;
begin
   insert into A select dummy from dual returning c1 bulk collect into vData;
   -- null;
end;
/

To no avail. Then I found this

Upvotes: 1

Related Questions