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?
E
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.....??
R
rdgms
Acho que nao amigo…
caso vc necessite fazer isso … crie um SP (Stored Procedure) no BD.
E
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…
F
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.
R
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.