Error while compiling trigger with bind variable

Cartaz

Member²
Hi,

i am getting error "ORA-01036: illegal variable name/number" when i try to compile a trigger with bind varibale (:new or :old) in use.
Looks like PL/SQL developer wants to substitute this varibale (pop up windows shows up and prompts me to input a value for new or old).
When i disable the option "Variable substitution" (bottom left corner) i get the error mentioned above.

Testscript:

SQL:
CREATE TABLE SB.TEST_WITH_TRIGGER
(
  TEST_WITH_TRIGGER_ID  NUMBER(12)  NOT NULL ,
  TEST_NAME             VARCHAR2(255) NULL
);

ALTER TABLE SB.TEST_WITH_TRIGGER
  ADD CONSTRAINT  XPKTEST_WITH_TRIGGER PRIMARY KEY (TEST_WITH_TRIGGER_ID);

CREATE SEQUENCE SB.TEST_WITH_TRIGGER_SEQ INCREMENT BY 1 START WITH 1 NOMAXVALUE;

CREATE OR REPLACE TRIGGER SB.TBI_TEST_WITH_TRIGGER
  BEFORE INSERT
  ON  SB.TEST_WITH_TRIGGER
  FOR EACH ROW
WHEN ( NEW.TEST_WITH_TRIGGER_ID IS NULL)
DECLARE
BEGIN
  SELECT TEST_WITH_TRIGGER_SEQ.NEXTVAL INTO :NEW.TEST_WITH_TRIGGER_ID FROM DUAL;
END;
/

Version: PL/SQL Developer 16 Beta4
Windows: SQL Window

vg Cartaz
 
Last edited:
Back
Top