Subject Re: [firebird-support] Duplicate entries ...
Author Ismael L. Donis Garcia
Although using superserver?

Regards
=========
|| ISMAEL ||
=========
----- Original Message -----
From: Ann Harrison
To: firebird-support@yahoogroups.com
Sent: Friday, August 05, 2011 1:47 PM
Subject: Re: [firebird-support] Duplicate entries ...



On Fri, Aug 5, 2011 at 11:11 AM, Ismael L. Donis Garcia <
ismael@...> wrote:

> I accomplish the following (I no if it will be OK )
>
> SET TERM ^ ;
> CREATE PROCEDURE P_NUM_REC (
> VCH_ENTIDAD VARCHAR(7),
> SIN_ALMACEN SMALLINT )
> RETURNS (
> INT_NREC INTEGER )
> AS
> BEGIN
> /* Update the number of the reception */
> select a.no_r from vtaconteo a where ((a.entidad = :vch_entidad) and
> (a.almacen = :sin_almacen)) into :int_nrec;
> update vtaconteo set no_r = no_r + 1 where ((vtaconteo.entidad =
> :vch_entidad) and (vtaconteo.almacen = :sin_almacen));
> suspend;
> END^
> SET TERM ; ^
>

It will get update conflicts and serialize whatever operations you're doing.
If you don't mind unnecessarily serializing inserts and dealing with update
conflicts, wonderful. Why not use a generator and the returning clause?

Ann

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]