... has probado a hacerlo asi?
Cita:
CREATE PROCEDURE RATES_AMOUNTS_DESCRIPTION
(category_no DECIMAL(7), subcategory_no DECIMAL(7), object_no CHAR(6), building_no DECIMAL(6))
RETURNS
(NAME_SP VARCHAR(40))
AS
declare variable todo_null as char(1);
BEGIN
TODO_NULL = 'S';
If ( bject_no <> '') THEN FOR Select NAME from OBJECTS where OBJECTNO = bject_no and BUILDINGNO = :building_no INTO NAME_SP DO SUSPEND;
if rowcount <> 0 then
begin
TODO_NULL = 'N';
end
If (:category_no <> 0 and :subcategory_no <> 0) THEN FOR Select NAME from CATEGORIES where CATEGORYNO = :category_no and SUBCATEGORYNO = :subcategory_no INTO NAME_SP DO SUSPEND;
if rowcount <> 0 then
begin
TODO_NULL = 'N';
end
If (:category_no <> 0 and :subcategory_no = 0) THEN FOR Select NAME from CATEGORIES where CATEGORYNO = :category_no and SUBCATEGORYNO = 0 INTO NAME_SP DO SUSPEND;
if rowcount <> 0 then
begin
TODO_NULL = 'N';
end
if todo_null = 'S' then
begin
name_sp = '? ? ? ? ?';
suspend;
end
END;
|
espero que te sirva, a mi en firebird me funciona bien
ánimos