Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #80339
    andersonoli
    Participante

      Olá pessoal sou iniciante em oracle e estou com uma dúvida.
      É o seguinte eu tenho uma tabela que terá no maximo 10 registros, mas que eu preciso mante-la ordena por um index. O problema é quando eu deleto um registro que não esteja nas extremidade da tabela, então é preciso ordernar o restante. Ex:

      nomeCampo indexCampo
      Cod 1
      nome 2
      endereco 3
      Cidade 4

      Ai eu removo o nome, por exemplo, então queria que ficasse assim:

      nomeCampo indexCampo
      Cod 1
      endereco 2
      Cidade 3

      Ai pensei em um usar no trigger a opcao de 😮 ld para pegar qual o index no qual eu irei deletar e usa um select max(index) para pegar o valor de saido do loop que faça a alteração dos index’s, mas isso acaba gerando um erro dizendo que a tabela é mutante e que talvez a trigger não possa localizá-la.

      Alguem sabe o que eu posso fazer para atualizar os index’s?

      Obrigado

      #80344
      Marcio68Almeida
      Participante

        Desculpe, realmente não entendi o que você quer fazer…

        #80369
        Roots17
        Participante

          Anderson,

          Para você eliminar o mutante da sua trigger basta você utilizar na área de declare a seguinte expressão Pragma Autonomous_Transaction, conforme exemplo abaixo:
          Seu trigger mutante está resolvido, mas eu não entendi o que você pretende fazer.

          [color=blue][b]Declare


          — Linha que elimina o erro MUTATING —


          Pragma Autonomous_Transaction;[/b][/color]

          Abracos

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress