Apex:如何找出架构名称?
Apex: How to find out the schema name?
我需要找到我的架构名称,因为我想删除我创建的触发器。
例如以下内容:
CREATE OR REPLACE TRIGGER TRIGGER_ORDER
BEFORE INSERT ON HOUSE_ORDER
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
WHEN (NEW.ORDER_ID IS NULL)
BEGIN
SELECT SEQ_ORDER_ID.NEXTVAL
INTO :NEW.ORDER_ID FROM DUAL;
END;
/
当我现在尝试放下扳机时:
DROP TRIGGER TRIGGER_ORDER
我收到以下错误:
ORA-04080: trigger 'TRIGGER_ORDER' does not exist
我发现我需要调用类似
的东西
DROP TRIGGER SCHEMA_NAME.TRIGGER_ORDER
但我不知道我的架构名称是什么。那我怎么才能找到它呢?
您应该使用 ALL_TRIGGERS 视图。有一个名为 Table Owner 的列,它指示架构。
select * from all_triggers
where table_name = 'YOUR_TABLE'
我需要找到我的架构名称,因为我想删除我创建的触发器。 例如以下内容:
CREATE OR REPLACE TRIGGER TRIGGER_ORDER
BEFORE INSERT ON HOUSE_ORDER
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
WHEN (NEW.ORDER_ID IS NULL)
BEGIN
SELECT SEQ_ORDER_ID.NEXTVAL
INTO :NEW.ORDER_ID FROM DUAL;
END;
/
当我现在尝试放下扳机时:
DROP TRIGGER TRIGGER_ORDER
我收到以下错误:
ORA-04080: trigger 'TRIGGER_ORDER' does not exist
我发现我需要调用类似
的东西DROP TRIGGER SCHEMA_NAME.TRIGGER_ORDER
但我不知道我的架构名称是什么。那我怎么才能找到它呢?
您应该使用 ALL_TRIGGERS 视图。有一个名为 Table Owner 的列,它指示架构。
select * from all_triggers
where table_name = 'YOUR_TABLE'