Oracle10g 在oracle中生成包含当前插入列值的随机键是否可以创建

Oracle10g 在oracle中生成包含当前插入列值的随机键是否可以创建,oracle10g,Oracle10g,我正在尝试生成一个随机键,包括oracle中当前插入的列值。是否可以创建 CREATE TABLE MY_TABLE ( KEY VARCHAR2(12) not null, SITEID varchar2(25) not null, SITENAME varchar2(50), CONSTRAINT MY_pk PRIMARY KEY (KEY) ); INSERT INTO MY_TABLE (KEY, SITEID, SITENAME) VALUES(('ABCD001'

我正在尝试生成一个随机键,包括oracle中当前插入的列值。是否可以创建

CREATE TABLE MY_TABLE
(
  KEY VARCHAR2(12) not null,
  SITEID varchar2(25) not null,
  SITENAME varchar2(50),
  CONSTRAINT MY_pk PRIMARY KEY (KEY)
);

INSERT INTO MY_TABLE (KEY, SITEID, SITENAME)
VALUES(('ABCD001'||SITEID), 'HYD001', 'HYDERABADSITE');

最好使用BEFORE触发器来执行此操作。像

CREATE OR REPLACE 
TRIGGER my_table_trigger
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
     :NEW.KEY := 'ABCD001'||:NEW.siteid;
END;

哪一位应该是随机的?VALUES子句中的SITEID是什么,它也应该是'HYD001'吗?您可以使用触发器。SITEID是我只输入'HYD001'值的SITEID!