Tem como em apenas um execute eu realizar várias operações como em um script, por exemplo:
String sql = "CREATE TABLE TESTE (OID_TESTE NUMERIC NOT NULL);" +
" CREATE TABLE TESTE2 (OID_TESTE2 NUMERIC NOT NULL) ;";
Ser executado em um único comando em java… ???
O que vc acha de criar um projetinho de teste pra verificar isso?
edineimanica
Rodrigo Vieira Pinto:
O que vc acha de criar um projetinho de teste pra verificar isso?
Com certeza eu já tentei...
Stringsql="CREATE TABLE TESTE (OID_TESTE NUMERIC NOT NULL);"+" CREATE TABLE TESTE2 (OID_TESTE2 NUMERIC NOT NULL) ;";try{Connectionconnection=null;DriverManager.registerDriver(neworacle.jdbc.OracleDriver());connection=DriverManager.getConnection(URL,user,password);connection.createStatement().execute(sql);connection.commit();
Só que ele indica Caracter Inválido......
Então gostaria de saber se tem como fazer para executar tudo? qual caracter que devo usar como separador.....??
rdgms
Acho que nao amigo…
caso vc necessite fazer isso … crie um SP (Stored Procedure) no BD.
edineimanica
rdgms:
Acho que nao amigo…
caso vc necessite fazer isso … crie um SP (Stored Procedure) no BD.
Eu não posso criar procedure e nem posso usar split…para verificar os ; …
Acho que não tem como , se alguém souber me avisa…
fabim
Ja tentou com PreparedStatement?
Eu me lembro que com preparesStatement eu ja consegui declarar uma função PL-SQL, escrever o corpo da função e executar sem problemas.
Rodrigo_Vieira_Pinto
Pelo seu teste, o problema não é com o Java, é com o banco mesmo, que não aceita 2 comandos dessa forma.
Tente executar os 2 comandos diretamente na base, usando o client do banco. Se não funcionar, o problema é no banco mesmo.
E, se funcionar, tente o preparedStatement como o fabiocsi falou.
EDITADO: Melhor dizendo: não que o banco tenha problemas, mas sim a sintaxe que você tá usando pode estar incorreta.