Ver Mensaje Individual
  #1  
Antiguo 15-07-2004
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Reputación: 20
Choclito Va por buen camino
Consultas anidadas en procedimientos almacenados

hola foro tengo un problema con el procedimiento almacenado que tengo que es el siguiente:
COMMIT WORK;
SET TERM ^ ;
CREATE PROCEDURE DetalleTM (Des varchar (30),Codigo char (2))
RETURNS (Numero integer,TipoM varCHAR(40))
as
begin
Numero=0;
do
begin
if (es='Farmacia') then
begin
select DETALLE FROM TIPO_MATERIAL
WHERE CODTIPOMATERIAL IN (select CODTIPOMATERIAL
FROM TIPOMATERIAL_CUENTACONTABLE
WHERE NROCUENTACON LIKE '125%'AND NROCUENTACON IN
(SELECT NROCUENTACON FROM CUENTA_CONTABLE WHERE CODREG=:Codigo)) into :TipoM;
end
else
begin
select DETALLE FROM TIPO_MATERIAL
WHERE CODTIPOMATERIAL IN (select CODTIPOMATERIAL
FROM TIPOMATERIAL_CUENTACONTABLE
WHERE NROCUENTACON LIKE '121%' and NROCUENTACON LIKE '122%' AND NROCUENTACON IN
(SELECT NROCUENTACON FROM CUENTA_CONTABLE WHERE CODREG=:Codigo)) into :TipoM;
end
Numero=Numero+1;
suspend;
end
end^
SET TERM ; ^
COMMIT WORK;

bueno en el procedimiento almacenado quiero mostrarlos tipos de materiales que se tengan de acuerdo al area y la regional para eso tengo tres tablas tipo de mateirales(codgio,detalle), cuenta contable(codigocuenta,detalle,codigoregional),esta dos tienen una relacion * a * y entonces tengo la tabla cuenta_tipomaterial (codcuenta,codtipomaterial), en la tabla cuentacontable hay una cuenta que empieza con el 125 que es de farmacia y el resto es de alamacenes y bueno por eso hice asi mi procedimiento almacenado pero en el momento de ejecutar me sale el error de

Multiple rows in singleton select

y bueno la verdad nose que sentencia me falta o como tendria que hacer ,porfavor quisiera que me ayuden les estare muy agradecido
Responder Con Cita