Quantcast
Channel: SCN : Discussion List - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 6412

trigger's error in SPS 10

$
0
0

Good day to everyone!

I have found an error in the trigger’s work for Sap Hana 1.00.102.01.1444147999

We create a test example

 

DROP TRIGGER TRIGGER_TAB_A;

DROP TABLE TAB_A;

DROP TABLE TAB_B;

 

CREATE COLUMN TABLE TAB_A (

  id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (START WITH 1 INCREMENT BY 1) ,

  val INTEGER

);

 

INSERT INTO TAB_A(val) VALUES(15);

 

CREATE COLUMN TABLE TAB_B (

  id INTEGER,

  val INTEGER

);

 

CREATE TRIGGER TRIGGER_TAB_A

AFTER UPDATE ON TAB_A

REFERENCING NEW ROW newrow

FOR EACH ROW

BEGIN

  INSERT INTO TAB_B(id, val) values ( :newrow.id, :newrow.val);

END;

 

1) We update table TAB_A

 

UPDATE TAB_A

set val = 12

WHERE val = 15;

 

While we are updating the table the error occurs.

 

Could not execute 'UPDATE tab_a set val = 12 WHERE val = 15' in 15 ms 917 µs .

[129]: transaction rolled back by an internal error: "AERO"."TRIGGER_TAB_A": line 3 col 2 (at pos 118): [129] (range 3): transaction rolled back by an internal error: exception 1000003: Index 59832 out of range [0, 4)

 

2) We change the trigger and try to update table TAB_A

 

DROP TRIGGER TRIGGER_TAB_A;

CREATE TRIGGER TRIGGER_TAB_A

AFTER UPDATE ON TAB_A

REFERENCING NEW ROW newrow

FOR EACH ROW

BEGIN

  DECLARE vId INTEGER;

  INSERT INTO TAB_B(id, val) values ( :newrow.id, :newrow.val);

END;

 

UPDATE TAB_A

set val = 12

WHERE val = 15;

 

There is no error, but the record in table TAB_B differs from the record in table TAB_A


Viewing all articles
Browse latest Browse all 6412

Trending Articles