pragma restrict_references
来源:互联网 发布:易语言3d游戏源码 编辑:程序博客网 时间:2024/06/05 04:53
今天在研究xlsx_builder_pkg包的时候,看到了hextoraw函数,进而发现了utl_raw包。在包头中看到了这样一种语句:
pragma RESTRICT_REFERENCES(copies, WNDS, RNDS, WNPS, RNPS);
简单搜索了一下,是这样一种用法:
PRAGMA RESTRICT_REFERENCES ( subprogram_name, [RNDS, WNDS, RNPS, WNPS, TRUST])
关键字和参数描述:
PRAGMA: 表示这是一个编译指令,在编译的时候执行
subprogram_name: PL/SQL 函数的名字
RNDS: (Read No Database State) 表示该subprogram不会查询(query)数据库中的表。
WNDS: (Write No Database State) 表示该subprogram不会改变数据库中的表的数据。
RNPS: (Read No Package State) 不访问包中的变量
WNPS:(Write No Package State) 不改变包中的变量值
TRUST: 表示信任该subprogram不会违反前面的任何约束,一般用在PL/SQL调用外部函数,比如java代码。
create or replace package pkg_zy_Test is function func_test_res(para number) return number; pragma restrict_references(func_test_res,rnps);end pkg_zy_Test;/create or replace package body pkg_zy_Test isv_value number:=0; function func_test_res(para number) return number is v_value0 number; begin v_value0:=v_value; end;begin null;end pkg_zy_Test;/
编译报错:
Compilation errors for PACKAGE BODY IRMDEV2.PKG_ZY_TEST
Error: PLS-00452: Subprogram ‘FUNC_TEST_RES’ violates its associated pragma
个人总结来说,pragma restrict_references就是一个约束函数对于表、变量权限的限制。
0 0
- pragma restrict_references
- Oracle PRAGMA RESTRICT_REFERENCES 理解
- 关于PRAGMA RESTRICT_REFERENCES 的理解
- PRAGMA RESTRICT_REFERENCES(getFormat, WNDS, WNPS, RNDS, RNPS);
- pragma autonomous_transaction : restrict_references(<fuctionname>,wnds) and serially_resumable
- PL/SQL:使用pragma restrict_references限制包权限
- #pragma
- Pragma
- #pragma
- #pragma
- #pragma
- #pragma
- #pragma
- #pragma
- #pragma
- #pragma
- #pragma
- #pragma
- 使用uri的方式打开应用、为什么要设置Action
- 数据的逻辑结构和数据的存储结构
- React Native 的 Navigator 组件使用方式
- 对序列化和反序列化的理解
- mysql系统学习
- pragma restrict_references
- iOS Apple Pay支付
- Android开发优化之——使用软引用和弱引用
- React问题集
- HTML语义化标签
- jggrid表格的使用
- io优化
- 针对项目中用到多个拦截器的一些想法和思考
- iOS路由设计(一) 路由响应链方法进行传值