我有一些问题。 我希望在oracle启动(初始化)时执行一些SQL查询。
例如,Linux,Windows等操作系统可以在计算机启动时运行程序。无论如何,当oracle启动时,我的目的是在oracle 11g r1中执行一些查询。
答案 0 :(得分:0)
这是一个例子:
CREATE OR REPLACE TRIGGER
manage_service
after startup on database
DECLARE
role VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE INTO role FROM V$DATABASE;
IF role = 'PRIMARY' THEN
DBMS_SERVICE.START_SERVICE('sales_rw');
ELSE
DBMS_SERVICE.START_SERVICE('sales_ro');
END IF;
END;
这就是你需要的吗?
答案 1 :(得分:0)
您可以使用AFTER STARTUP Triggers
。
create or replace trigger
tr_startup_actions
after startup on database
begin
procedure_runing_query(p_arg1);
end;
/
如果需要,可以在过程内或块内运行所需的查询。但是,您应该决定在某处存储查询结果的方法。将它存储在表格中会更好。