e-Renata 0 Denunciar post Postado Março 2, 2006 http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Gente, como declaro uma sequence (seq_sol.nextval) numa stored procedure PL/SQL? (Bom ... esse foi o erro que apareceu na compilação do meu programa, que a sequence deve ser declarada e os comandos seguintes - correlatos a ela ou não - são ignorados). A quem puder me ajudar, agradeço MUITO. Compartilhar este post Link para o post Compartilhar em outros sites
Lainezinha 0 Denunciar post Postado Março 2, 2006 olá,Não entendi o seu contexto mas vou te passar o que eu utilizo por aqui..primeira mente eu crio a sequence e depois a aciono através de trigger como abaixoesta trigger é acionanda sempre que eu insiro algum registro na TAB1CREATE SEQUENCE TAB1SQ INCREMENT BY 1 START WITH 1--> triggercreate or replace trigger TAB1TBEFORE INSERT ON TAB1 FOR EACH ROWDECLAREid NUMBER;BEGINSELECT TAB1SQ.NEXTVAL INTO id FROM dual;:NEW.ID := id;END; Compartilhar este post Link para o post Compartilhar em outros sites
e-Renata 0 Denunciar post Postado Março 3, 2006 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif certo, mas a sequence já está criada (outra analista é quem as cria no BD e disponibiliza pra gente) meu problema está sendo sua aceitação pela minha stored procedure. como faço para que ela seja aceita pelo compilador Oracle 8.0 aqui, conseqüentemente pela minha stored procedure PL/SQL? Esta, a utiliza como identificador de uns arquivos que estou populando e para tanto tenho que inserir esse valor dela no campo-chave deles (como primary key). :) Vou seguir sua sugestão e tentar usá-la assim: numsolic NUMBER; SELECT seq_sol.NEXTVAL INTO numsolic FROM dual; . . . e inserir seu valor normalmente nos campos-chave que eu precisar, através de "numsolic" (Estou com a intuição de que isso vai salvar minha vida, hehehe http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif ) Obrigadíssima! Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Março 7, 2006 Passe o Erro que o Oracle lhe passa para podermos analisar melhor. As vezes, não precisa jogar o valor de uma sequence numa bind Variable, e sim utilizar o NEXT_VAL dentro da sua própria instrução DML. Veja se o owner que foi criado a sequence você tem acesso ou se ele é publico. Abraços, :lol: Compartilhar este post Link para o post Compartilhar em outros sites
e-Renata 0 Denunciar post Postado Julho 10, 2006 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Hãhã... assim também funcionou, mas ficou melhor usar a sequence através da variável de ligação por causa da posterior impressão deste valor, quando da confirmação de solicitação informada ao usuário. Valeu. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Julho 10, 2006 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites