Considerando che TEST_SCRIPT
è un CLOB
per questo che quando ho eseguito questo semplice query da SQL * Plus su Oracle, ottengo l'errore:ORA-00932: datatypes contradditori: atteso - ha CLOB
ORA-00932: inconsistent datatypes: expected - got CLOB
ho letto un sacco di domande circa lo stesso errore, ma nessuno di quelli in esecuzione di una query direttamente da SQLPLUS
UPDATE IMS_TEST
SET TEST_Category = 'just testing'
WHERE TEST_SCRIPT = 'something'
AND ID = '10000239'
esempio completa:
SQL> create table ims_test(
2 test_category varchar2(30),
3 test_script clob,
4 id varchar2(30)
5 );
Table created.
SQL> insert into ims_test values ('test1','something','10000239');
1 row created.
SQL> UPDATE IMS_TEST
2 SET TEST_Category = 'just testing'
3 WHERE TEST_SCRIPT = 'something'
4 AND ID = '10000239';
WHERE TEST_SCRIPT = 'something'
*
ERROR at line 3:
ORA-00932: inconsistent datatypes: expected - got CLOB
Lo script attuale contiene le virgolette inglesi ricce presenti nella domanda? O era solo un artefatto di creare la domanda? Nello script vero e proprio, la stringa ''qualcosa' 'in realtà supera i 4000 caratteri? –
scusa, cosa intendi per virgolette arricciate? Stai suggerendo le virgolette non sono le virgolette giuste? e la stringa s = in questo esempio è proprio quella. Potrei avere dei filamenti più grandi nel prodotto reale, ma sto solo cercando di capire se questa semplice query funziona. – user1298925
@ user1298925, questa query funzionerà ma fallirà se si sta tentando di inserire più di 4000 caratteri nel campo clob –