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

      Boa tarde Pessoal, estou montando uma procedure que conta a quantidade de registro em uma tabela(M_UNIDADE) e com isso é feito um INSERT(MM_MEMBRO) em uma outra tabela para cada registro da tabela M_UNIDADE. Gostaria de saber se sintaxe esta correta.

      CREATE PROCEDURE inserirMM_MEMBRO()
      IS

      qt number;
      cont number;
      id number;

      BEGIN

      qt = (SELECT count(*) FROM M_UNIDADE);
      id =(SELECT max(ID_UNIDADE) FROM M_UNIDADE);

      WHILE qt => cont LOOP

      cont = cont + 1;
      id = id + 1;

      INSERT INTO MM_MEMBRO(ID_FILHO, ID_UNIDADE)
      VAlUES(id,1)

      END LOOP

      END inserirMM_MEMBRO;

      EXEC inserirMM_MEMBRO();

      Desde já agradeço a todos.

      #101791
      rman
      Participante

        @Miola

        Não é exatamente o que você precisa, mas é uma luz…


        DECLARE
        L_ROWS INTEGER;
        L_TABLE_NAME ALL_TABLES.TABLE_NAME%TYPE := NULL;
        BEGIN
        FOR TABLE_RECORD IN (SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER =
        'TRIBUTOS' ORDER BY TABLE_NAME) LOOP
        EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || TABLE_RECORD.TABLE_NAME INTO
        L_ROWS;
        DBMS_OUTPUT.PUT_LINE(TABLE_RECORD.TABLE_NAME||', '||L_ROWS);
        END LOOP;
        END;

        #102031
        Miola
        Participante

          Ai pessoal esta precisando de uma força, gostaria de saber se a sintaxe esta correta:


          CREATE PROCEDURE inserirMM_MEMBRO()
          IS

          qt number;
          cont number := 0;
          id number;

          BEGIN

          SELECT count(*)
          Into qt
          FROM M_UNIDADE;

          SELECT min(ID_UNIDADE)
          Into id
          FROM M_UNIDADE;

          WHILE qt >= cont LOOP

          cont := cont + 1;

          INSERT INTO MM_MEMBRO(ID_UNIDADE, ID_UNIDADE)
          VAlUES(:id,2566);

          id := id + 1;

          END LOOP

          END

          EXEC inserirMM_MEMBRO();

          Desde já agradeço a todos!

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