marciobatista Profissional

Registrado: Terça-Feira, 25 de Mai de 2004 Mensagens: 578
|
Enviada: Sex Jan 23, 2009 5:18 pm Assunto: problema com store procedure |
|
|
meu problema e o seguinte tenho 3 tabelas
uma delas e a selecionados que contem o campo codigo, outra e a clientes que contem campos da ficha do cliente, e a outra e recebidas quer contem a prestacoes pagas pelo cliente. preciso que a store procedure faça o seguinte
leia cada registro da tabela selecionados e pegue os dados neceesarios na tabela clientes, e na tabela recebidas estou fazendo assim :
CREATE PROCEDURE RELATORIOCLIENTESVALIDATA (
PINICIAL DATE,
PFINAL DATE)
RETURNS (
CODIGO INTEGER,
NOME CHAR(50),
CPF CHAR(20),
IDENTIDADE CHAR(20),
CADASTRO DATE,
ENDERECO CHAR(50),
TEMPOENDE CHAR(20),
COMPLEMENTO CHAR(40),
BAIRRO CHAR(30),
CIDADE CHAR(30),
ESTADO CHAR(2),
CEP CHAR(9),
CONJUGUE CHAR(50),
TELEFONE CHAR(20),
CELULAR CHAR(20),
NASCIMENTO DATE,
PAI CHAR(50),
MAE CHAR(50),
FIRMA CHAR(20),
TEMPOEMPRE CHAR(20),
TELEFONEFIRMA CHAR(20),
ENDERECOFIRMA CHAR(50),
BAIRROFIRMA CHAR(30),
CIDADEFIRMA CHAR(30),
CEPFIRMA CHAR(9),
PROFISSAO CHAR(30),
SALARIO DECIMAL(15,2),
VALOR DECIMAL(15,2),
VALPAG DECIMAL(15,2),
DATA DATE,
VENCIMENTO DATE,
DATAPAG DATE,
PARCELA CHAR(5))
AS
DECLARE VARIABLE CONTADOR INTEGER;
begin
CONTADOR=1;
FOR select selecionados.codigo FROM selecionados into :codigo
do begin
select clientes.nome,clientes.identidade,clientes.cadastro,clientes.endereco,clientes.tempoende,clientes.complemento,clientes.bairro,clientes.cidade,clientes.cep,clientes.estado,clientes.conjugue,clientes.telefone,clientes.celular,clientes.nascimento,clientes.pai,clientes.mae,clientes.firma,clientes.tempoempre,clientes.telefonefirma,clientes.enderecofirma,clientes.bairrofirma,clientes.cidadefirma,clientes.cepfirma,clientes.profissao,clientes.salario from clientes where clientes.codigo=:codigo
into :nome,:identidade,:cadastro,:endereco,:tempoende, :complemento,:bairro,:cidade,:cep,:estado,:conjugue,:telefone,:celular,:nascimento,:pai,:mae,:firma,:tempoempre,:telefonefirma,:enderecofirma,:bairrofirma,:cidadefirma,:cepfirma,:profissao,:salario;
select recebidas.data,recebidas.valor,recebidas.vencimento,recebidas.valpag,recebidas.datapag,recebidas.parcela from recebidas where (recebidas.codigo=:codigo) and (recebidas.datapag>=:pinicial) and (recebidas.datapag<=:pfinal)
into :data,:valor,:vencimento,:valpag,:datapag,:parcela;
suspend;
end
end
a procedure compila sem problema + quando vou executar ela me retorna o seguinte erro :multiple rows in singleton select e nao me retorna o resultado.
onde estou errando ?
desde ja agradeço a quem possa me ajudar |
|