Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #75638
    Anônimo

      E ai galera tenho uma duvida simples, alguem pode me mostar como faço uma prcedure que execute um select, ela tem que receber parametros de busca, ex:

      select * from cartao where num_cartao = 123

      Seria assim.

      Obrigado.

      #75642
      Anônimo

        Ricardo,

        abaixo segue um exemplo de uma procedure e de um script.

        Procedure

        CREATE OR REPLACE PROCEDURE Teste(AUX IN number) AS
        cur integer;
        rc integer;
        STAT VARCHAR2(70);
        CAMPO1 VARCHAR2(30);
        NUM_CARTAO NUMBER;
        BEGIN
        STAT := ‘select CAMPO1, NUM_CARTAO from cartao where num_cartao =’ || AUX;
        cur := DBMS_SQL.OPEN_CURSOR;
        DBMS_SQL.PARSE(cur, STAT , DBMS_SQL.NATIVE);
        DBMS_SQL.DEFINE_COLUMN (cur, 1, CAMPO1, 30);
        DBMS_SQL.DEFINE_COLUMN (cur, 2, NUM_CARTAO);
        rc := DBMS_SQL.EXECUTE(cur);
        LOOP
        IF DBMS_SQL.FETCH_ROWS (cur) > 0 THEN
        DBMS_SQL.COLUMN_VALUE (cur, 1, CAMPO1);
        DBMS_SQL.DEFINE_COLUMN (cur, 2, NUM_CARTAO);
        DBMS_OUTPUT.PUT_LINE(CAMPO1 ||’ ‘ || TO_CHAR(NUM_CARTAO));
        ELSE
        EXIT;
        END IF;
        END LOOP;
        DBMS_SQL.CLOSE_CURSOR(cur);
        END;

        Depois é só executar com o valor desejado.
        – exec Teste(123);

        mas acho mais prático um script:

        Crie um arquivo sql com a query

        Script

        select CAMPO1, NUM_CARTAO from cartao where num_cartao = &aux;

        depois execute o script:

        @d:teste.sql

        Enter value for aux: 123
        old 1: select CAMPO1, NUM_CARTAO from cartao where num_cartao = &aux;
        new 1: select CAMPO1, NUM_CARTAO from cartao where num_cartao = 123;

        Pronto.

        Espero ter ajudado.

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