0

I am creating a function for my database that will allow me to autoincrement a primary key in a view the following is my function

delimiter //
CREATE FUNCTION `func_inc_var_session`(reset BIT) RETURNS int
    NO SQL
    NOT DETERMINISTIC
     begin
      IF reset THEN
        SET @var := 0;
      ELSE
        SET @var := IFNULL(@var,0) + 1;
      END IF;
      return @var;
     end
     //
delimiter ;

How can i change the following function to avoid begining from the last auto incremented number every time i run the view.

I have also tried the following to create my view: i get the error that the select statement has a parameter and thus an error occurs

create view view_calvndt3 as
SELECT 
         @rownum := @rownum + 1  AS `id`,
        `adggtnz`.`lng02_rpt_b_calvedets`.`calvdatealv` AS `calvdate`,
        CONCAT('TZN',
                `adggtnz`.`lng02_rpt_b_calvedets`.`tagprefix`,
                `adggtnz`.`lng02_rpt_b_calvedets`.`tagsec`,
                '-',
                `adggtnz`.`lng02_rpt_b_calvedets`.`name`) AS `calfid`,
        `adggtnz`.`lng02_rpt_b_calvedets`.`damid` AS `damid`
    FROM
        `adggtnz`.`lng02_rpt_b_calvedets`, (SELECT @rownum := 0) r
    WHERE
        ((`adggtnz`.`lng02_rpt_b_calvedets`.`calvdatealv` <> 0)
            AND (NOT ('0000-00-00'))
            AND (CONCAT('TZN',
                `adggtnz`.`lng02_rpt_b_calvedets`.`tagprefix`,
                `adggtnz`.`lng02_rpt_b_calvedets`.`tagsec`,
                '-',
                `adggtnz`.`lng02_rpt_b_calvedets`.`name`) IS NOT NULL));
Mirieri Mogaka
  • 517
  • 4
  • 23

0 Answers0