我想知道如何通过创建library(broom)
results = tidy(model)
results$expB = exp(results$Estimate)
使用PL/SQL
到ALTER
表到READ ONLY
。到目前为止,我尝试了以下代码块:
PROCEDURE
如果您要ALTER
当前模式中的所有表,请按以下步骤创建该过程
SQL> CREATE OR REPLACE PROCEDURE UPDATE_PR_READ_ONLY IS
v_sql VARCHAR2(150);
BEGIN
FOR c IN
(
SELECT *
FROM user_objects o
WHERE o.object_type
)
LOOP
v_sql := 'ALTER TABLE '||c.object_name||' READ ONLY';
EXECUTE IMMEDIATE v_sql;
END LOOP;
END;
/
或如果您只想ALTER
仅使用三个单独的表,请按以下步骤创建该过程
SQL> CREATE OR REPLACE PROCEDURE UPDATE_PR_READ_ONLY IS
v_sql VARCHAR2(150);
v_tab owa.vc_arr;
BEGIN
v_tab(1):='PROJECTS'; v_tab(2):='REQUEST_ACTIVITIES'; v_tab(3):='PROJ_REC_SERVICES';
FOR i in 1..3
LOOP
v_sql := 'ALTER TABLE '||v_tab(i)||' READ ONLY';
EXECUTE IMMEDIATE v_sql;
END LOOP;
END;
/
通过遍历设置为那些表名的数组值来。
无论创建什么过程,都调用为
SQL> EXEC UPDATE_PR_READ_ONLY;
请注意
END
的最后PROCEDURE
之后添加PROCEDURE
名称相同。
因此,UPDATE_PROJ_REQU_READ_ONLY
应该转换为
UPDATE_PR_READ_ONLY
。FOR EACH ROW
用于数据库触发器,但不用于数据库触发器
存储过程IS
或AS
,
更可取的是在OR REPLACE
关键字之后使用CREATE
选项DDL
不能发出EXECUTE IMMEDIATE
语句
存储过程中ALTER TABLE table_name只读;