Oracle
 sql >> Database >  >> RDS >> Oracle

Comando CREATE non valido quando viene utilizzato con un altro comando

Non conosco C# ma presumo che tu possa inviare solo singole istruzioni SQL o blocchi PL/SQL, non un elenco separato da punto e virgola. In ogni caso, exec non è nessuno dei due (è una scorciatoia SQL*Plus supportata da alcuni IDE.)

Probabilmente devi inviare comandi separati come qualcosa del tipo:

create directory test_dir as 'C:\\'

e

begin run_query('SELECT {1} FROM  {2} {3} ORDER BY {4}','TEST_DIR','{5}'); end;

(Nota PL/SQL usa il punto e virgola ma SQL non ha un terminatore di istruzione nativo, sebbene gli strumenti spesso richiedano un carattere di terminatore e il punto e virgola sia spesso l'impostazione predefinita.)