[firebase-br] Problemas com Firebird 1.5 + Stored Procedure + Delphi 7

Junior jrjuniorsp em yahoo.com.br
Qua Out 27 14:09:36 -03 2004


Boa tarde Lista

estou com um problema que não consigo solucionar sobre Stored Procedure.

criei uma tabela bem simples de Teste
CREATE TABLE TESTE (
    CODIGO INTEGER NOT NULL,
    NOME VARCHAR (40),
    PRIMARY KEY(CODIGO)
);

Adicionei manualmente 4 registros normal.
Para minha primeira SP, eu criei uma simple para adicionar valores

CREATE PROCEDURE "inserir"(
CODIGO INTEGER,
NOME VARCHAR (40))
as
BEGIN 
  INSERT INTO TESTE (CODIGO , NOME ) VALUES (:CODIGO,:NOME);  
END

No Delphi 7, estou usando os componentes IBX e funcionou legal (componentes utilizados: IBDatabase,IBTransaction,IBStoredProc).

O problema é retornar valores.
tentei fazer um Select Count(*) e retornar esse valor (no banco de dados possui 4 registros) e mesmo assim me retorna valor NENHUM!!

CREATE PROCEDURE "selecionar"
RETURNS (qtde integer)
as
BEGIN 
  SELECT COUNT(*) FROM TESTE INTO :qtde;  
END

Rodando pelo EMS QuickDesk nao retorna nada, e pelo Delphi utilizando os componentes (IBDatabase, IBTransaction, IBQuery). No caso do IBQuery, coloquei -------select * from "selecionar"------
Nesse caso não mostra nenhum registro, o certo seria mostrar 4.

Agora o último problema é quando uma consulta retorna vários valores, por exemplo
CREATE PROCEDURE "selecionar"
RETURNS (codigo integer,nome varchar(40))
as
BEGIN 
  SELECT codigo,nome FROM TESTE INTO :codigo, :nome;  
END

Aqui tanto no QuickDesk como no Delphi da erro de "Multiples Rows in Singleton Select"

Alguem poderia me ajudar fazendo favor?




Mais detalhes sobre a lista de discussão lista