Oracle e suas peripécias
22/outubro/2010 - Oracle
Olá
Hoje o Oracle me deu um baile, como faço todos os dias, estava eu tranquilo fazendo minha procedure PL/SQL quando de repente começo a obter esse erro:
LINE/COL ERROR -------- ------------------------------------------ 167/17 PL/SQL: ORA-00984: column not allowed here 160/7 PL/SQL: SQL Statement ignored
Olho aqui, olho lá, leio e releio as linha indicadas mas nada de ter uma luz para resolver esse problema. Resolvo criar o teste no PLSQL Developer (ver abaixo) com o trecho em torno da linha 167 mas o erro continua:
declare
-- Local variables here
i integer;
--num_iden number;
--num_cli number;
begin
-- Test statements here
insert into cad_endereco
(num_cli_ende,
cod_ende_ende,
num_iden_ende,
cod_ende_ende,
cod_situ_ende,
data_ende,
usu_ende)
values
(num_cli,
'0001',
num_iden,
'0001',
'EN',
'01',
sysdate,
user);
end;
Como o quantidade de código diminui e o scroolbar sumiu percebi que as variáveis num_cli e num_iden não estavam declaradas, lógico que não iria funcionar.
Visto isso, criei as benditas variáveis (no código acima estão comentadas). E não é que funcionou!!!
Poxa vida!! Não dava para me mostrar uma mensagem mais intuitiva do tipo a variável num_cli não está criada seu idiota??!! Mas com um column not allowed here é pra acabar com o meu dia. Já vi erro cuja mensagens não era assim uma beleza, mas essa ganhou disparado.
[desabafo mode="off"]
Até mais,
Roberto
Alterar senha do usuário sys do Oracle XE
12/agosto/2010 - Geral
Olá!
Caso você tem instalado um banco de dados Oracle 10g XE e não se lembra mais da senha do usuário SYS siga os passos abaixo para alterar a senha dele.
1) Abra o SQL*Plus. No botão iniciar escolha a opção “Executar Linha de Comandos SQL”;
2) Conecte-se com o comando abaixo:
SQL> connect / as sysdba
Conectado.
3) Altere a senha do usuário
SQL> alter user sys identified by
Usuário alterado.
Pronto. Agora você poderá acessar http://127.0.0.1:8080/apex/, digitar o usuário sys e a
Até mais,
Roberto
IsNumber em Oracle PL/SQL
05/fevereiro/2010 - Oracle
Olá
Existem duas formas de verificar se uma string contém um número válido. A primeira forma é usando as funções translate, trim e length. Quando usadas em conjunto você obtém null se a string for número ou o comprimento da string sem espaços em branco. Veja abaixo:
select
length(trim(translate('minha_variavel', ' +-0123456789.', ' '))) n1,
length(trim(translate('123456789.9999', ' +-0123456789.', ' '))) n2
from dual;
O resultado dessa query é:
N1 N2
14 null
Outra forma é usando a função to_number(). Caso a string passada contiver caracteres não numéricos é lançada uma exceção.
declare
n number;
s varchar2(10);
begin
s := '1236';
n := to_number(s);
dbms_output.put_line('É número');
exception when others then
dbms_output.put_line('Não é número');
end;
Introdução ao BPEL utilizando o Oracle SOA Suíte 10g
27/junho/2009 - Oracle, SOA, Tutoriais
Olá!
Para quem quer saber um pouco mais sobre BPEL e a ferramenta Oracle SOA Suite escrevi um artigo sobre eles.
Introdução ao BPEL utilizando o Oracle SOA Suíte 10g
Disponibilizei o web service utilizado no artigo nesse endereço http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl
Os fontes podem ser baixados clicando em CalculadoraServices.war e aqui.
Espero que ajude.
Até mais,
Roberto
Quer passar objetos Java para procedure Oracle
31/maio/2009 - Java, Oracle
Olá
Sabia que há a possibilidade de passar um objeto Java para dentro de uma procedure ou function do Oracle ?
Dica do blog do André LS.
Até mais,
Roberto
