Sql 如何在oracle中为全局临时表创建序列?

Sql 如何在oracle中为全局临时表创建序列?,sql,oracle,Sql,Oracle,比如说 CREATE GLOBAL TEMPORARY TABLE GGT_temp_reversal ( sessionid VARCHAR (50) NULL, syspk NUMERIC (23) ) ON COMMIT DELETE ROWS ; CREATE SEQUENCE GGT_temp_reversal_seq; CREA

比如说

CREATE  GLOBAL TEMPORARY TABLE GGT_temp_reversal 
(                        
  sessionid  VARCHAR  (50)    NULL,                      
  syspk                    NUMERIC  (23)
)
ON COMMIT DELETE ROWS ;

CREATE SEQUENCE GGT_temp_reversal_seq;

CREATE OR REPLACE TRIGGER GGT_temp_reversal_bir 
BEFORE INSERT ON GGT_temp_reversal 
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
  :new.id := GGT_temp_reversal_seq.NEXTVAL;
END;

获取错误“%s:无效标识符”

您正在为ID列创建触发器

:new.id:=GGT_temp_reversion_seq.NEXTVAL

但您还没有在CREATE表中声明它

  CREATE GLOBAL TEMPORARY TABLE GGT_TEMP_REVERSAL (
  SESSIONID VARCHAR(50) NULL,
  SYSPK     NUMERIC(23)
  )

添加ID列即可

表格中没有列
GGT\u temp\u reversion
如果您满意,请将答案设置为已接受。