Zapis u tablicu s automatskim generiranjem šifre


Podaci tablice MP_MJERA će sadržavati podatke koji imaju šifru u slijedu, npr: 1 komad, 2 kilogram, 3 metar,…


CREATE PROCEDURE dbo.mp_mjera_insert
 @mjera            INT,
 @naziv            VARCHAR(60),
 @oznaka            VARCHAR(5),
 @out_mjera        INT        OUT
AS
SET NOCOUNT ON

DECLARE    @err    INT,
 @pomerr    INT,
 @ima    INT

SET @err = -1

SET @pomerr = 1
EXEC @pomerr = dbo.mp_mjera_exists
 @mjera        = @mjera,
 @out_ima    = @ima        OUT
SET @err = @err + CASE @pomerr WHEN -1 THEN 0 ELSE 1 END

IF @ima = 0
 BEGIN
 IF @mjera = 0
 BEGIN
 SELECT    @mjera    = MAX(MJERA)
 FROM    MP_MJERA
 SET @err = @err + @@ERROR

 SET @mjera = ISNULL(@mjera, 0) + 1
 END

 INSERT    INTO    MP_MJERA (
 MJERA,
 NAZIV,
 OZNAKA)
 VALUES     (
 @mjera,
 @naziv,
 @oznaka)
 SET @err = @err + @@ERROR
 END
ELSE
 BEGIN
 UPDATE    MP_MJERA
 SET    NAZIV        = @naziv,
 OZNAKA        = @oznaka
 WHERE    MJERA        = @mjera
 SET @err = @err + @@ERROR
 END

SET @out_mjera    = @mjera

RETURN @err
GO
  1. No comments yet.
(will not be published)