Pular para o conteúdo
Visualizando 13 posts - 16 até 28 (de 28 do total)
  • Autor
    Posts
  • #82637
    Anônimo

      rodfbar, agora deu certo.
      Outra pergunta “VV_CLIENTE” é uma variavel com diversos registros?
      Seria um “RecordSet”?

      #82645
      rodfbar
      Participante

        ola Ana… neste caso esta variavel trabalha apenas com um registro por vez….

        se vc quiser uma variavel multirecord (matriz) vc pode criar dessas 2 formas:


        DECLARE
        TYPE VVETOR IS RECORD("COLUNA1" "TIPO", "COLUNA2" "TIPO"...);/TYPE VETOR CRIADO MANUALMENTE/
        TYPE T_MATRIZ IS TABLE OF VVETOR;/TYPE MATRIZ/
        VMATRIZ T_MATRIZ;

        /OU CRIADO DESTA FORMA/
        TYPE T_MATRIZ IS TABLE OF "TABELA"%ROWTYPE; /TYPE MATRIZ/
        VMATRIZ T_MATRIZ;

        essa seria sua declaração

        para utilizar variaveis multirecord vc precisa de um indice pra mesma iniciado com 1, ou vc pode acessar os registros estaticamente( 1…2…3)

        no exemplo com indice dinamico


        DECLARE
        /declarar os type como mostrado acima/
        I NUMBER := 1;
        BEGIN
        V_MATRIZ := T_MATRIZ(NULL);/INICIALIZA SUA MATRIZ/
        LOOP
        V_MATRIZ(I)."COLUNA1" := "VALOR"
        .
        .
        .
        /FAZ ALGUMA VERIFICAÇÃO SE VAI TER MAIS ALGUM REGISTRO NA MATRIZ/
        /SE TIVER/
        V_MATRIZ(I).EXTEND;
        I := I+1;
        /SE NAO/
        EXIT;
        END LOOP;
        END;

        espero que ajude[/code]

        #82647
        Anônimo

          rodfbar, me expressei errado a pergunta é “VV_Cliente” seria uma variavel com 1 registro e diversos campos (codigo,nome,endereco,data…).
          Desculpa

          #82650
          Anônimo

            rodfbar, me expressei errado a pergunta é “VV_Cliente” seria uma variavel com 1 registro e diversos campos codigo,nome,endereco,data, etc…).
            Outra coisa como faço para executar esta function de dentro do banco para ver se ela esta rodando.

            #82657
            rodfbar
            Participante

              ola…

              sim ela eh uma variavel do tipo vetor

              porisso pra acessar um atributo dela vc usa: variavel.atributo

              abrçs

              #82659
              rodfbar
              Participante

                esse tipo de função pra testar no banco é um pouco mais trabalhosa..

                acredito q pra nao tomar muito seu tempo.. a forma mais rapida pra vc testar é:


                declare
                -- Local variables here
                i CLIENTE%ROWTYPE;
                begin
                -- Test statements here
                i := SP_BUSCA(1);
                --
                raise_application_error(-20001,'Código:' || i.codigo || ' Nome:' || i.nome ... );
                end;

                #82663
                Anônimo

                  rodfbar, te perguntei isso porque “acho” que a linguagem que estou usando não dá suporte para “FUNCTION” só para Procedure. Daí pensei testar a function primeiro depois rodar pelo ASP.
                  Só que esta dando o erro.
                  “Microsoft OLE DB Provider for Oracle (0x80004005)
                  “Este provedor não oferece suporte a funções/procedimentos armazenados PL/SQL com argumentos RECORD ou TABLE.”
                  Se vc puder me ajudar obrigada de novo

                  #82664
                  rodfbar
                  Participante

                    😯

                    intendi… realmente pra vc vai ser cruel….

                    bom o teste q te passei vc conseguiu rodar??

                    nunca trabalhei com asp portanto nao sei se vou conseguir te dar a melhor solução..

                    o q vc poderia fazer é criar uma package com varias funções… uma para retornar o nome, outra para endereço, etc… mais sua aplicação vai ficar muito pesada, pois vai rodar varias vezes o mesmo select…

                    usar aqueles parametros do tipo out nao resolveriam o seu caso? a linguagem que vc esta utilizando suporta esse tipo de parametro?

                    abrçs

                    #82665
                    Anônimo

                      rodfbar, o teste que vc me passou funcionou beleza.
                      O problema esta em passar estas informações para fora do DB.
                      Parametros OUT pode ser que funcionem só que se eu pegar um form com diversos campos vai ter que codificar muito.
                      Mesmo assim obrigada pela ajuda.

                      #82672
                      Anônimo

                        rodfbar, o teste que vc m passou funcionou beleza.
                        O problema esta em passar estas informações para fora do DB.
                        Parametros OUT pode ser que funcionem só que se eu pegar um form com diversos campos vai ter que codificar muito.
                        Mesmo assim obrigada pela ajuda.
                        E para testar uma procedure insert como fazer?

                        #82678
                        rodfbar
                        Participante

                          ola Ana….

                          procedure para insert acho q vc poderia simplesmente tratar o erro

                          exemplo:


                          begin
                          insert
                          exception
                          when others then
                          raise_application_error(-20001,'Erro:' || SQLERRM);
                          end;

                          dessa forma se ocorrer algum erro no seu insert ele vai retornar como erro de execução para seu código… dai vc consegue tratar com algum tipo de “try{ cacth{” dai nao sei como o asp trata erros… mas seria +- isso

                          abrçs…

                          #82683
                          Anônimo

                            Privilégios de Usuário Atribuições:
                            CONNECT RESOURCE

                            Privilégios de Sistema Concedidos Diretamente:
                            CREATE DATABASE LINK
                            CREATE MATERIALIZED VIEW
                            CREATE PROCEDURE
                            CREATE PUBLIC SYNONYM
                            CREATE ROLE CREATE SEQUENCE
                            CREATE SYNONYM
                            CREATE TABLE CREATE TRIGGER
                            CREATE TYPE CREATE VIEW

                            rodfbar, sobre meu codigo em asp não aceitar function, estive olhando no gerenciador de usuarios e detectei que não tem “function” existe apenas a lista acima.
                            Será que tem que atualizar o oracle. A versão que uso é 10g.

                            #82690
                            rodfbar
                            Participante

                              mais he seu código em asp q nao aceita function ou vc nao esta conseguindo criar o objeto no banco???

                              qndo vc da um create function no banco aparece alguma mensagem pra vc?

                              abrçs

                            Visualizando 13 posts - 16 até 28 (de 28 do total)
                            • Você deve fazer login para responder a este tópico.