失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 在oracle包体中动态创建表 PKG

在oracle包体中动态创建表 PKG

时间:2022-01-27 06:27:00

相关推荐

在oracle包体中动态创建表 PKG

在oracle包体中动态创建表的简单例子,主要是权限申明。

本文在包体中实现,同思路可以改在存储过程中。

调用:

begin-- Call the function:result := pkg_createtable.uf_createtable(as_sql => :as_sql);end;

包体源码 PKG_CREATETABLE.pck

CREATE OR REPLACE PACKAGE PKG_CREATETABLE AUTHID CURRENT_USER IS/*声明中增加AUTHID CURRENT_USER,不然报权限不足*/FUNCTION UF_CREATETABLE(AS_SQL IN VARCHAR2) RETURN VARCHAR2;END PKG_CREATETABLE;/CREATE OR REPLACE PACKAGE BODY PKG_CREATETABLE ISFUNCTION UF_CREATETABLE(AS_SQL IN VARCHAR2) RETURN VARCHAR2 ISV_SQL VARCHAR2(400);BEGINV_SQL := AS_SQL;IF LENGTH(V_SQL) > 0 THENNULL;ELSEV_SQL := 'CREATE TABLE T_TEST AS (SELECT SYSDATE COL_1 FROM DUAL) ';END IF;EXECUTE IMMEDIATE V_SQL;RETURN SQLCODE || SQLERRM;END UF_CREATETABLE;END PKG_CREATETABLE;/

如果觉得《在oracle包体中动态创建表 PKG》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。