Ir para conteúdo
Fórum Script Brasil

gladiador

Veteranos
  • Total de itens

    2.281
  • Registro em

  • Última visita

Posts postados por gladiador

  1. /* Procedimento Armazenado, ou seja vamos supor que você va desenvolver em uma aplicação DELPHI e la tenha que fazer pesquisas ou deleção ou inserção ou atualizar cálculos , o que pode ser feito ?

    uma Stored Procedure

    Suponhamos que você tenha um campo onde tera pesquisar nomes porem varias outras tabelas relacionadas, ou seja ou SQL grande e complicado, caso faça isso no DELPHI ou seja no FRONT END quando executado na sua máquina ótimo porém quando executado em rede a performance cai , ai entra a procedure você cria ela no banco e executa através de apenas uma linha no front end ou seja no DELPHI fica bem mais rápido , basicamente é isso ai

    */

  2. --------------------------------------------------------------------
    CREATE PROCEDURE MINHA_PROCEDURE
    (
      DATA_INI TIMESTAMP,
      DATA_FINAL TIMESTAMP
    )
    RETURNS
    (
      BO VARCHAR(20),
      DP VARCHAR(10)
    )
    AS
    BEGIN
       FOR Select Ocorrencia.BO,Cad_Log.DP
       From  Ocorrencia Ocorrencia, Cad_Log Cad_Log
       Where Ocorrencia.Codigo_Rua=Cad_Log.Codigo_Rua and
            Ocorrencia.Data>= :DATA_INI and
            Ocorrencia.Data<= :DATA_FINAL AND
            CAD_LOG.DP='10ºDP'
            INTO :BO, :DP
        DO
        SUSPEND;
    END
    ------------------------------------------------------------------------------
    

    ou seja o código acima, me traz parametros de entrada e parametro de saida

    ou seja executo no sql do interbase da seguinte forma

    execute procedure minha_procedure ' 01.01.2004 ' , ' 28.02.2004'

    so me traz o primeiro registro já fiquei assustado..... será que no delphi so trará

    só o primeiro registro ?

    bom , outroa me disseram para usar um view atá ai tudo bem mais eu vou entrar com parametros ou seja criarei no delphi dois campos data inicial e data final onde

    o usuario digitara na hora da pesquisa , será que da com uma view ou tem que ser procedure mesmo ?

    alguém de me uma luz

    */

  3. /* Inda bem que não dependo desse tipo de banco access senão tava ferrado , o coissinha vagabunda , salve mysql interbase firebird , mesmo assim obrigado bordini pela duvida + na maquina onde tem essa coisa chamada access eu testei é só funfo daquele jeito mais de boa valeu pela dica quem sabe um dia mais quem sabe mesmo la no fundo quando eu não souber desenvolver com verdadeiro banco de dados dai eu use esse access dai eu vou na sua bota , brigadão T+ */

  4. /* O RBORDINI responde uma coisa para mim pois sou leigo no access talvez utilize como LEIGO pois meu negocio e INTERBASE FIREBIRD MYSQL e SQL , mais ta bom como eu digto no critério ou seja do jeito que se explicou la em cima como é

    assim?

    01.01.03 e 01.04.03

    ou é

    01/01/03 e 01.04.03

    ou

    01-01-03 e 01-01-04

    ou

    01/Jan/2003 e 01/jan/2004

    essa é minha dúvida como é ?

    eu sei que assim funciona

    [Entre com a primeira data (exemplo: 2-nov-95)] E [Entre com a última data (exemplo: 30-dez-95)]

    + e assim

    [Entre com a primeira data ] E [Entre com a última data]

    testei no access e deve ser uma bost...... e não funfo como seria no caso o correto ?

  5. CREATE PROCEDURE TESTE_INTERBASE RETURNS ( 
      ID INTEGER, 
      NOME VARCHAR(30) 
    ) AS 
    BEGIN 
      FOR SELECT id, nome FROM TESTE WHERE nome LIKE 'A%' 
        INTO :ID, :NOME DO 
          SUSPEND; 
    END 
    

    O código acima me traz o resultado no interbase ou seja nomes com a letra A no inicio porem tenho varios nomes na tebal que iniciam com a letra A , eu pergunto porque so me traz um ou seja só o primeiro registro num sei se vai um While ai , caso sim onde iria ou seja o que está de errado ?

  6. pfff... só repetiu o que o rbordini disse........

    fácil ganhar posts assim né hihiihih

    /* O imbecil eu dei o exemplo prático , agora eu que digo se registra primeiro o indecência para depois falar algo coisa nojenta */

    ps :há sim faz uma coisa faz rodar do jeito que o rbordini fez daquele jeito que tá lá explicado depois usa a minha se vai entender , trouxa

  7. Desenvolvi varias tabelas em um determinado banco de dados

    utilizando o SQL Server 7.0, sendo que criei stored procedures para

    executar consultas junto a essas tabelas, isso tudo utilizando como

    Front End o Delphi 7.0 obtive excelente resultado ou seja tudo

    funciona perfeitamente , porém atualmente migrei os bancos para o

    Interbase 7.1 e quando tentei contruir uma stored procedure me deparei

    com os seguintes erros :

    erro linha 1 , nº 104

    Segue o código da procedure que era realizada perfeitamente no SQL Server

    e que quando roda no Interbase da erro :

    ---------------------------------------------------------------------------

    CREATE PROCEDURE ADVOGA
    @DATA_INI DATETIME,
    @DATA_FINAL DATETIME ,
    @CIA VERCHAR(4)
    AS
    
    SELECT Cad_Log.DP, Cad_Log.Nome_Rua, Tab_Infracao.Tipo_Infracao,
    Ocorrencia.Data, Ocorrencia.Horario, Ocorrencia.Flagrante
    
    FROM Ocorrencia Ocorrencia, Cad_Log Cad_Log ,
    Tab_Infracao Tab_Infracao
    
    WHERE Ocorrencia.Cod_Infracao = Tab_Infracao.Cod_Infracao AND 
                 Ocorrencia.Codigo_Rua = Cad_Log.Codigo_Rua  AND 
                 Ocorrencia.Data >= @DATA_INI AND 
                 Ocorrencia.Data <= @DATA_FINAL   AND
                 Cad_Log.Cia = @CIA  AND 
                 Ocorrencia.Flagrante ="S"
                 Order by Tab_Infracao.Tipo_Infracao
    
    EXEC ADVOGA "2000-04-01", "2000-08-30", "02"
    
    

    -------------------------------------------------------------------------------

    Deixando claro o código acima funciona perfeitamente no SQL Server 7.0 / 2000

    porém no Interbase 7.1 da erro na primeira linha e reclama do "@" ou seja não posso

    usar arroba?

    Como ficaria isso no Interbase poderia me explicar o código pois, os tutoriais sobre

    procedures no Interbase estão deixando a desejar e estão bem fracos e executando

    basico

    Obrigado

×
×
  • Criar Novo...