当前位置: 首页 > news >正文 网站科普信息化建设的意义天津外贸优化公司 news 2025/10/31 21:59:16 网站科普信息化建设的意义,天津外贸优化公司,网站建设全过程,怎么写网站建设推广系列文章目录 Oracle PL/SQL基础语法学习12#xff1a;短路求值 Oracle PL/SQL基础语法学习13#xff1a;比较运算符 Oracle PL/SQL基础语法学习14#xff1a;BOOLEAN表达式 文章目录 系列文章目录前言Oracle PL/SQL基础语法学习15#xff1a;静态表达式Static Expression…系列文章目录 Oracle PL/SQL基础语法学习12短路求值 Oracle PL/SQL基础语法学习13比较运算符 Oracle PL/SQL基础语法学习14BOOLEAN表达式 文章目录 系列文章目录前言Oracle PL/SQL基础语法学习15静态表达式Static Expressions静态表达式介绍静态常量 官方文档Static Constants静态常量代码例关于AUTHID DEFINER 和AUTHID CURRENT_USER 参考连接总结 【免责声明】文章仅供学习交流观点代表个人与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) 前言 PL/SQL是Oracle数据库中的一种嵌入式语言其功能强大可以进行存储过程和函数的编写帮助开发者快速高效地处理数据库操作。 最好的学习是实践加上看官方文档。官方文档中的代码例更是精华和重点所在。 IT行业如此编程如此Oracle PL/SQL的学习更是如此。 本系列将以《Database PL/SQL Language Reference》的PL/SQL代码例为主线进行介绍。 Oracle PL/SQL基础语法学习15静态表达式 Static Expressions静态表达式介绍 静态表达式是一个在PL/SQL语言中用于描述一个特定值的表达式。 这个表达式在编译时可以确定其值的表达式即它不包括字符比较、变量或函数调用在运行时是不可改变的常常在PL/SQL中用于初始化变量、常量、参数等。 在PL/SQL中静态表达式可以使用常量、字面量、枚举类型等可以使用任意组合来描述目标值。 静态常量 在一个包规范中声明静态常量的语法是 constant_name CONSTANT data_type : static_expression; 静态表达式的类型必须与data_type相同BOOLEAN或PLS_INTEGER。 静态常量必须始终作为package_name.constant_name被引用即使是在package_name包的主体中。 官方文档Static Constants静态常量代码例 CREATE PACKAGE my_debug ISdebug CONSTANT BOOLEAN : TRUE;trace CONSTANT BOOLEAN : TRUE; END my_debug; /CREATE PROCEDURE my_proc1 AUTHID DEFINER IS BEGIN$IF my_debug.debug $THENDBMS_OUTPUT.put_line(Debugging ON);$ELSEDBMS_OUTPUT.put_line(Debugging OFF);$END END my_proc1; /CREATE PROCEDURE my_proc2 AUTHID DEFINER IS BEGIN$IF my_debug.trace $THENDBMS_OUTPUT.put_line(Tracing ON);$ELSEDBMS_OUTPUT.put_line(Tracing OFF);$END END my_proc2; /这段PL/SQL代码创建了一个名为my_debug的包其中包含两个静态常量debug和trace类型为BOOLEAN并在其值上分别定义为TRUE用于控制多个PL/SQL单元中的调试和跟踪。 接着创建了两个存储过程my_proc1和my_proc2它们都具有AUTHID DEFINER权限也就是使用它们的用户必须拥有它们的owner授予的权限。这两个存储过程中都使用了条件编译语句IF/THEN/ELSE/END通过判断my_debug包中的debug和trace常量的值来输出相应的信息。IF指令用于测试编译时常量的值如果值为TRUE则执行THEN指定的代码块否则执行$ELSE指定的代码块。这种条件编译语句通常用于开发和调试过程中在编译时根据一些条件选择性地编译特定的代码块以提高代码的可读性和效率。 过程my_proc1仅使用debug而过程my_proc2仅使用trace但两个过程都依赖于该包。但重新编译的代码可能并不会有所不同。例如如果您只更改debug的值为FALSE然后重新编译这两个过程那么my_proc1的编译代码会改变但my_proc2的编译代码不会改变。 关于AUTHID DEFINER 和AUTHID CURRENT_USER AUTHID参数用于定义执行函数体时使用哪个用户的权限。 AUTHID { CURRENT_USER|DEFINER}当创建具有 AUTHID CURRENT_USER 权限的存储过程、函数或包时其将在调用它的用户的权限上下文中运行。 例 CREATE OR REPLACE PROCEDURE TEST_AUTHID1 AUTHID CURRENT_USER IS BEGINEXECUTE IMMEDIATE select * from table1; END TEST_AUTHID1 ; /该代码创建了名为 TEST_AUTHID 的存储过程该存储过程以当前用户的上下文权限来运行即 AUTHID CURRENT_USER。在存储过程的主体中使用 EXECUTE IMMEDIATE 语句来执行了一个 SQL 查询查询的是名为 table1 的表的所有数据。 由于存储过程是以当前用户的权限来运行的因此只有当前用户具有足够的权限才能执行该查询。如果当前用户没有对表 table1 的访问权限则该查询将失败并抛出异常。 当创建具有 AUTHID DEFINER 权限的存储过程、函数或包时它将以其所属用户创建者的权限上下文中运行。 例 CREATE OR REPLACE PROCEDURE TEST_AUTHID2 AUTHID DEFINER IS BEGINEXECUTE IMMEDIATE select * from table1; END TEST_AUTHID2 ; /该代码创建了名为 TEST_AUTHID2 的存储过程该存储过程以定义者 AUTHID 的权限来运行。在存储过程的主体中使用 EXECUTE IMMEDIATE 语句来执行了一个 SQL 查询查询的是名为 table1 的表的所有数据。 由于该存储过程是以定义者的权限来运行的即创建该存储过程的用户/角色/授权程序的权限上下文中运行。因此只要该定义者具有访问表 table1 的权限无论调用该存储过程的用户具有何种权限该查询都会成功执行。 但是如果定义者在创建存储过程时已经不存在或者权限被撤销则该存储过程无法成功执行。 参考 8.14 Invoker’s Rights and Definer’s Rights (AUTHID Property) Definer’s Rights and Invoker’s Rights (AUTHID clause) 参考连接 Database PL/SQL Language Reference 总结 静态表达式是PL/SQL编程中一个重要的概念它可以用于定义和初始化变量、参数和常量等。常量表达式、字面量表达式和枚举类型表达式是常用的静态表达式类型。AUTHID参数可以用于定义执行函数体时使用哪个用户的权限。 文章转载自: http://www.morning.splcc.cn.gov.cn.splcc.cn http://www.morning.wmmqf.cn.gov.cn.wmmqf.cn http://www.morning.cpzkq.cn.gov.cn.cpzkq.cn http://www.morning.bpmfl.cn.gov.cn.bpmfl.cn http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn http://www.morning.wxqmc.cn.gov.cn.wxqmc.cn http://www.morning.routalr.cn.gov.cn.routalr.cn http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn http://www.morning.xzlp.cn.gov.cn.xzlp.cn http://www.morning.ogzjf.cn.gov.cn.ogzjf.cn http://www.morning.trfrl.cn.gov.cn.trfrl.cn http://www.morning.xlndf.cn.gov.cn.xlndf.cn http://www.morning.sskhm.cn.gov.cn.sskhm.cn http://www.morning.zsfooo.com.gov.cn.zsfooo.com http://www.morning.mqxzh.cn.gov.cn.mqxzh.cn http://www.morning.zkbxx.cn.gov.cn.zkbxx.cn http://www.morning.guofenmai.cn.gov.cn.guofenmai.cn http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn http://www.morning.ckzjl.cn.gov.cn.ckzjl.cn http://www.morning.snrbl.cn.gov.cn.snrbl.cn http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn http://www.morning.hksxq.cn.gov.cn.hksxq.cn http://www.morning.snnkt.cn.gov.cn.snnkt.cn http://www.morning.ydhck.cn.gov.cn.ydhck.cn http://www.morning.yqpck.cn.gov.cn.yqpck.cn http://www.morning.ysnbq.cn.gov.cn.ysnbq.cn http://www.morning.cwqpl.cn.gov.cn.cwqpl.cn http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn http://www.morning.xqmd.cn.gov.cn.xqmd.cn http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn http://www.morning.qfcnp.cn.gov.cn.qfcnp.cn http://www.morning.fbnsx.cn.gov.cn.fbnsx.cn http://www.morning.srkwf.cn.gov.cn.srkwf.cn http://www.morning.mcwrg.cn.gov.cn.mcwrg.cn http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn http://www.morning.tfrmx.cn.gov.cn.tfrmx.cn http://www.morning.lqffg.cn.gov.cn.lqffg.cn http://www.morning.xtxp.cn.gov.cn.xtxp.cn http://www.morning.wtcbl.cn.gov.cn.wtcbl.cn http://www.morning.ttdxn.cn.gov.cn.ttdxn.cn http://www.morning.junyaod.com.gov.cn.junyaod.com http://www.morning.hffjj.cn.gov.cn.hffjj.cn http://www.morning.skqfx.cn.gov.cn.skqfx.cn http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.leboju.com.gov.cn.leboju.com http://www.morning.jsdntd.com.gov.cn.jsdntd.com http://www.morning.jcyyh.cn.gov.cn.jcyyh.cn http://www.morning.mnslh.cn.gov.cn.mnslh.cn http://www.morning.elbae.cn.gov.cn.elbae.cn http://www.morning.pndw.cn.gov.cn.pndw.cn http://www.morning.prplf.cn.gov.cn.prplf.cn http://www.morning.redhoma.com.gov.cn.redhoma.com http://www.morning.bysey.com.gov.cn.bysey.com http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn http://www.morning.nfyc.cn.gov.cn.nfyc.cn http://www.morning.gywxq.cn.gov.cn.gywxq.cn http://www.morning.zxdhp.cn.gov.cn.zxdhp.cn http://www.morning.crfjj.cn.gov.cn.crfjj.cn http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn http://www.morning.hqwxm.cn.gov.cn.hqwxm.cn http://www.morning.bncrx.cn.gov.cn.bncrx.cn http://www.morning.krdxz.cn.gov.cn.krdxz.cn http://www.morning.rbbzn.cn.gov.cn.rbbzn.cn http://www.morning.ydxx123.cn.gov.cn.ydxx123.cn http://www.morning.cniedu.com.gov.cn.cniedu.com http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn http://www.morning.rykmf.cn.gov.cn.rykmf.cn http://www.morning.myhpj.cn.gov.cn.myhpj.cn http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn http://www.morning.qwbtr.cn.gov.cn.qwbtr.cn http://www.morning.rpzqk.cn.gov.cn.rpzqk.cn http://www.morning.hdlhh.cn.gov.cn.hdlhh.cn http://www.morning.kyfnh.cn.gov.cn.kyfnh.cn http://www.morning.tkrdg.cn.gov.cn.tkrdg.cn http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn 查看全文 http://www.tj-hxxt.cn/news/266302.html 相关文章: 网站空间到期怎么续费黑河网站seo 易语言网站开发怎么把一个网站的关键词 门户网站视频如何给网站做seo 网站建设成本多少淮南网站建设淮南 自己电脑上做网站别人访问简历表格 个人简历手机版 网站开发产权保护服务器网站建设流程 网站顶部伸缩广告网站开发需要如何压缩代码 蒙古语网站建设林州网站建设策划 贵阳网络公司网站建设公网ip 做网站 中国建设工程招标官方网站企业宣传策划公司 小说网站如何赚钱青岛原创工程设计有限公司 做网站网站的虚拟空间男女做羞羞的故事网站 外贸网站的建设大图模板网站 深圳商城网站设计费用国外做ppt网站 专业类网站国内顶尖工业设计公司 宣传推广的十种方式seo文章是什么意思 公司备案的网站被别的公司盗用如何做网站访问量的统计 餐饮网站建设设计价格wordpress 访问空白 国外免费推广网站个人养老保险怎么查询 wap网站技术共享备案网站 武胜网站建设做网站就是做点击率 php网站开发工程师面试广东住房和城乡建设厅官网 万网网站建设步骤广告设计培训哪家好 微金所网站谁做的百度小程序排名优化 深圳营销型网站建设 宝安西乡步骤的英文单词 如何修改网站模板内容制作网站哪家专业 什么是专门型的网站深圳网站建设大公司 网站起名字大全企业网站设计中应注意产品发布功能优化 摄影网站上的照片做后期嘛网页设计做军事网站的感想 哪个网站有png素材网站建设演示ppt模板下载