Subject Re: [firebird-support] Firebird ADO.NET: ExecuteNonQuery Returns -1 On Successful Insert
Author livius

>>That being s aid, I produced a technical paper a few days ago
on my own technical article site that I announced on this forum, which you may have read.  This article was designed with the intention of attracting other .NET development professionals >>who have similar backgrounds to mine by describing the inconsistencies they will find with Firebird when working with a db-manager as well as ADO.NET.  And such professionals with my type of background will see a number of issues with Firebird that >>will not be seen as expected database behavior.  I  hope that my paper will assist such professionals in understanding Firebird by demonstrating these inconsistencies while also providing them with the appropriate solutions to work with them in a >>manner that will make them more comfortable with this database engine.
 
I have read onece again your article and now i know why you thinked
“Views could be considered somewhat redundant is something “
 
Your sample about procedure presented make me thinking that you do not catch full suspend statment maining (this is only assumption).
The biggest difference between firebird stored proc and other databases is simplicity to return e.g virtual fields
and manipulate its content
e.g. look at your proc modified by me:
 
CREATE PROCEDURE SP_WORK_SIMPLE_SELECT
RETURNS(
  NUMBER INTEGER,
  PI_KEY BIGINT,
  PI_PARENT_KEY BIGINT,
  PI_ROOT_KEY BIGINT,
  PI_DEPTH INTEGER,
  PS_CATEGORY VARCHAR(500))
AS
BEGIN
       NUMBER = 1
       FOR
      SELECT CN_KEY,
           CN_PARENT_KEY,
           CN_ROOT_KEY,
           CN_DEPTH,
           CN_CATEGORY
        FROM RI_CATEGORY_NODES
        INTO :PI_KEY,
             :PI_PARENT_KEY,
             :PI_ROOT_KEY,
             :PI_DEPTH,
             :PS_CATEGORY
    DO
      BEGIN
         SUSPEND;
         NUMBER = NUMBER + 1;
         SUSPEND;
         NUMBER = NUMBER * 5;
         SUSPEND;
         PS_CATEGORY = PS_CATEGORY || NUMBER;
         SUSPEND;
      END
    SUSPEND;
    SUSPEND;
    SUSPEND;
END;
 
this sample show real powerfull of of SP in Firebird. I know that there are also wiknes but not so big.
 
regards,
Karol Bieniaszewski