繁体   English   中英

如何在oracle中为GLOBAL TEMPORARY TABLE创建SEQUENCE?

[英]How to create SEQUENCE for GLOBAL TEMPORARY TABLE in 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;

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_reversal_seq.NEXTVAL;

但是您尚未在CREATE TABLE中声明它

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

添加一个ID列,就可以了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM