Colega, "fácil" é relativo, tudo que vc sabe é "fácil", o que vc não 
sabe é "difícil" - eu sempre usei as sequences, não vejo assim 
taaanta dificuldade... E cito também que necessariamente, Oracle é 
DIFERENTE de SQLServer, MUITOS dos conceitos que vc tem em um não são 
os mesmos no outro, até porque o perfil de utilização, os volumes 
típicos, etc, são diferente... No caso em questão, inclusive, é o que 
ocorre, o Oracle implementa sequences porque as sequences podem ser 
cacheadas E não implicam em nenhum tipo de enqueue para se assegurar 
ausência de duplicidade, implica em performance superior via de regra 
cfrme citado em http://asktom.oracle.com/pls/asktom/f?
p=100:11:0::::P11_QUESTION_ID:6575961912937#6597836737589 ..... 

Quanto à pergunta de retorno de resultset via procedure, REF CURSOR é 
a resposta, em http://asktom.oracle.com/tkyte/ResultSets/index.html 
vc tem um exemplo, mas novamente o CONCEITO aqui é diferente, 
novamente , Oracle <> SQLServer.... Eu recomendaria fortemente que vc 
estudasse os manuais de Concepts e o Guia de Desenvolvedores Oracle, 
** justamente ** para que vc fique conhecendo os conceitos e 
recomendações da Oracle para se desenvolver em banco Oracle, 
necessariamente MUITO, mas MUITO MESMO do que vc já usa e conhece em 
SQLServer vai ser diferente.... Pra complementar os manuais, eu 
recomendo os livros "Expert Oracle Database Architecture: 9i and 10g 
Programming Techniques and Solutions", e o "Effective Oracle by 
Design" , ambos do autor Thomas Kyte, vão ser inestimáveis no seu dia 
a dia, se o teu objetivo é construir uma aplicação eficiente com o bd 
Oracle.

[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, "Renan Nucci - CSM Soft" 
<[EMAIL PROTECTED]> escreveu
>
> Blz,, agradeço as respostas,, 
> agora sinceramente, acho o cumulo o banco de dados mais utilizado 
do mundo nao ter uma maneira mais facil para esse tipo de 
problemas....
> 
> Um outro ponto que eu nao estou acertando eh em relacao a 
procedures.. 
> 
> Pois se tenhu que fazer um select dentro de uma procedure eu 
preciso declarar um vetor ou jogar o resultado do select em uma 
variavel???
> 
> como faço pra declarar uma variavel pra acertar a procedure abaixo?
> 
> create procedure teste (:cod in varchar)
> is
> begin
> select * from tabela where codigo = :cod;
> end
> 
> 
> ********************************
> ***** Renan S. Nucci *****
> ***** Desenvolvedor *****
> ***** CSM Software *****
> ********************************
>   ----- Original Message ----- 
>   From: Andre Santos 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Thursday, May 03, 2007 11:02 AM
>   Subject: Re: [oracle_br] Criacao de sequence e dar select no novo 
valor gerado..
> 
> 
>   Só acrescentando, ao que o Marco já explicou, é possível criar um 
trigger
>   para "insert", obtendo o valor da sequence (dessa forma ficaria 
bem
>   semelhante ao uma coluna do tipo "autonumeração").
> 
>   [ ]'s
> 
>   André
> 
>   Em 02/05/07, FERNANDES Marco A SOFTTEK <
>   [EMAIL PROTECTED]> escreveu:
> 
>   > Renan,
>   > pequeno detalhe.... no seu select vc não usa mais a sequence !
>   > Use-a apenas no insert.
>   >
>   > O currentval da sequence não é o que vc procura.
>   > Vc precisa especificar o código na busca e não o valor da 
sequence.
>   > Como te disse, a sequence não tem relação com a tabela. É 
apenas um
>   > artifício para controlar um sequencia numérica.
>   >
>   > Portanto, não use o currentval no select, pois ele não serve 
para isso.
>   >
>   > Caso vc queira consultar o último registro inserido utilize a 
cláusula
>   > where usando max(campo_id).
>   >
>   > valeu, abraço,
>   > Marco.
>   >
>   > ________________________________
>   >
>   > From: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br>[mailto:
>   > oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>] 
On Behalf
>   > Of PUB: Renan Nucci - CSM Soft
>   > Sent: quarta-feira, 2 de maio de 2007 17:52
>   > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br>
>   > Subject: Re: [oracle_br] Criacao de sequence e dar select no 
novo valor
>   > gerado..
>   >
>   > Criei conforme vossa orientação, mas nao consigo selecionar o 
que foi
>   > inserido..
>   > O que esta errado no que fiz abaixo??
>   >
>   > /*cria a sequencia*/
>   > create sequence produtos_codigo increment by 1 minvalue 1 
nomaxvalue start
>   > with 1
>   > commit
>   >
>   > /*tenta nserir usando sequence*/
>   > ALTER SESSION SET NLS_DATE_FORMAT = 'YY/MM/DD' /*altera formato 
da
>   > sessao*/
>   > insert into Produtos values
(produtos_codigo.NEXTVAL, 'produto1', 5, 2,
>   > '2001-01-01') ;
>   > commit;
>   > /*seleciona o que foi inserido*/
>   > select * from produtos where codigo = produtos_codigo.CURRVAL;
>   >
>   > ********************************
>   > ***** Renan S. Nucci *****
>   > ***** Desenvolvedor *****
>   > ***** CSM Software *****
>   > ********************************
>   > ----- Original Message -----
>   > From: FERNANDES Marco A SOFTTEK
>   > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br> <mailto:
>   > oracle_br%40yahoogrupos.com.br>
>   > Sent: Wednesday, May 02, 2007 5:10 PM
>   > Subject: RE: [oracle_br] Criacao de sequence e dar select no 
novo valor
>   > gerado..
>   >
>   > Renan, a tabela não tem ligação direta com a sequence.
>   > A tabela tem uma coluna tipo Number normal.
>   > O vínculo estará apenas no insert na tabela da seguinte forma:
>   >
>   > insert into tabela (coluna_ID, coluna_2, coluna_3)
>   > values (nome_sequence.nextval(), valor_2, valor_3);
>   >
>   > A sequence quando criada vc especifica o valor inicial, 
incremento,
>   > máximo, ciclicidade, etc.
>   > Portanto, vc deve iniciar com 1 e máximo de 99999 onde o número 
de noves
>   > depende do
>   > tamanho do seu number... se for number(3) o máximo é 999.... o 
incremento
>   > põe 1, ou seja,
>   > soma sempre 1 (incremento normalmente usado).
>   >
>   > Ou seja, na criação da tabela não tem segredo... cria ela 
normal.
>   > Aí nos inserts tem que tratar... não é recomendado 
reaproveitamento de
>   > chave nesse
>   > caso pois vc teria que tratar também a sequence.
>   >
>   > Eu já vi muita gente usar sequence mas tbem já vi muita gente 
usar o
>   > select max + 1.
>   >
>   > Abraço,
>   > Marco.
>   >
>   > ________________________________
>   >
>   > From: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br><mailto:
>   > oracle_br%40yahoogrupos.com.br> 
[mailto:oracle_br@yahoogrupos.com.br<oracle_br%
40yahoogrupos.com.br><mailto:
>   > oracle_br%40yahoogrupos.com.br> ] On Behalf Of PUB: Renan 
Nucci - CSM Soft
>   > Sent: quarta-feira, 2 de maio de 2007 16:45
>   > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br> <mailto:
>   > oracle_br%40yahoogrupos.com.br>
>   > Subject: Re: [oracle_br] Criacao de sequence e dar select no 
novo valor
>   > gerado..
>   >
>   > O que me impediu de criar a sequence eh o primeiro valor, pois 
nas minhas
>   > tentativas estavao dando erros. lembro de ter lido que para 
usar uma
>   > sequence o campo deve ter o valor gerado pela sequence.. :/
>   >
>   > eh por isso q pedi um exemplo que me mostrasse a "traducao" de 
uma tabela
>   > do ss para o oracle..
>   >
>   > ********************************
>   > ***** Renan S. Nucci *****
>   > ***** Desenvolvedor *****
>   > ***** CSM Software *****
>   > ********************************
>   > ----- Original Message -----
>   > From: FERNANDES Marco A SOFTTEK
>   > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br> <mailto:
>   > oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%
40yahoogrupos.com.br>
>   > Sent: Wednesday, May 02, 2007 4:04 PM
>   > Subject: RE: [oracle_br] Criacao de sequence e dar select no 
novo valor
>   > gerado..
>   >
>   > Para se encriptar uma procedure é necessário o uso da 
ferramenta WRAP
>   > existente no oracle... cada versão de banco tem sua própria 
ferramenta
>   > wrap.
>   >
>   > Dá uma olhada no Help desse cara pra pegar os detalhes.
>   >
>   > Abraço,
>   > Marco.
>   >
>   > ________________________________
>   >
>   > From: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br><mailto:
>   > oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%
40yahoogrupos.com.br>
>   > [mailto:oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br><mailto:
>   > oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%
40yahoogrupos.com.br> ]
>   > On Behalf Of PUB: Rafael Alexandre Schmitt
>   > Sent: quarta-feira, 2 de maio de 2007 15:54
>   > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br> <mailto:
>   > oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%
40yahoogrupos.com.br>
>   > Subject: Re: [oracle_br] Criacao de sequence e dar select no 
novo valor
>   > gerado..
>   >
>   > Olá,
>   >
>   > Bom, para criar uma sequence você usa o create sequence , 
existem vários
>   > exemplos disponíveis na net.
>   > Com a sequence criada você pode usar o nextval para retornar o 
próximo
>   > valor se é isso que você deseja.
>   >
>   > Quanto a encriptar o corpo da procedure eu não sei como isso 
pode ser
>   > feito.
>   >
>   > --
>   > Rafael Alexandre Schmitt
>   > [EMAIL PROTECTED] <rafael%40hbtec.com.br> <mailto:rafael% <rafael%25>
>   > 40hbtec.com.br> <mailto:rafael% <rafael%25>40hbtec.com.br> 
<mailto:rafael%<rafael%25>
>   > 40hbtec.com.br> || www.hbtec.com.br
>   > Blumenau - Santa Catarina
>   >
>   > ----- Original Message -----
>   > From: Renan Nucci - CSM Soft
>   > To: oracle_br@yahoogrupos.com.br <oracle_br%
40yahoogrupos.com.br> <mailto:
>   > oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%
40yahoogrupos.com.br>
>   > <mailto:oracle_br%40yahoogrupos.com.br>
>   > Sent: Wednesday, May 02, 2007 3:31 PM
>   > Subject: Re: [oracle_br] Criacao de sequence e dar select no 
novo valor
>   > gerado..
>   >
>   > Esqueci de dizer tb que preciso de criptografar o texto dessa 
procedure,
>   > para nao se conseguir ver o corpo da procedure....
>   >
>   > por isso q na procedure de exemplo que mandei, existe o with 
encryption...
>   >
>   >
>   > obrigado
>   >
>   > ********************************
>   > ***** Renan S. Nucci *****
>   > ***** Desenvolvedor *****
>   > ***** CSM Software *****
>   > ********************************
>   > ----- Original Message -----
>   > From: Renan Nucci - CSM Soft
>   > To: oracle_br
>   > Sent: Wednesday, May 02, 2007 2:23 PM
>   > Subject: [oracle_br] Criacao de sequence e dar select no novo 
valor
>   > gerado..
>   >
>   > Boa tarde pessoal,
>   >
>   > Estou precisando de criar no oracle algumas tabelas que tenho 
no sql
>   > server, soh que o funionamento das mesmas devem ser identico.
>   >
>   > no SS tenho essa tabela por exemplo,
>   >
>   > Create table Produtos(
>   > codigo int primary key IDENTITY (1, 1) not null ,
>   > descricao varchar(100),
>   > valor Decimal(18,2),
>   > qtde int,
>   > datacad datetime
>   > )
>   >
>   > e tenho uma procedure assim:
>   >
>   > create procedure Insert_Cad_Produtos
>   > @descricao varchar(100),
>   > @Valor decimal(18,2),
>   > @Qtde int,
>   > @Datacad datetime
>   > with encryption
>   > AS
>   > Begin
>   > insert into Produtos (descricao, Valor, Qtde, dataCad)values
(@descricao,
>   > @Valor, @Qtde, @datacad)
>   > select * from Produtos where Codigo = @@Identity
>   > end;
>   >
>   > Sempre que for inserir eu chamo essa procedure, que apos a 
insercao da um
>   > select no item inserido...
>   >
>   > Como que eu crio uma tabela no oracle com a funcionalidade do 
identity do
>   > SS????
>   > e como ficaria essa procedure???
>   >
>   > Pelo q ja li, creio q vou ter de criar uma sequence, mas nao 
sei como usar
>   > isso, pois nao manjo de oracle, estou vendo agora..
>   >
>   > Alguem poderia fazer esse grande favor de mandar o script da 
tabela e da
>   > proceure para o oracle??
>   >
>   > obrigado
>   >
>   > ********************************
>   > ***** Renan S. Nucci *****
>   > ***** Desenvolvedor *****
>   > ***** CSM Software *****
>   > ********************************
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > ----------------------------------------------------------
>   > Esta mensagem foi verificada pelo E-mail Protegido Terra.
>   > Scan engine: McAfee VirusScan / Atualizado em 02/05/2007 / 
Versão: 5.1.00
>   > /5022
>   > Proteja o seu e-mail Terra: http://mail.terra.com.br/ <
>   > http://mail.terra.com.br/> <http://mail.terra.com.br/ <
>   > http://mail.terra.com.br/> > <http://mail.terra.com.br/ <
>   > http://mail.terra.com.br/> <http://mail.terra.com.br/ <
>   > http://mail.terra.com.br/> > >
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
>   > 
>   >
> 
>   [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
>    
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a