一:变量作用域 DECLAREcurrent_block VARCHAR2(10) := 'Outer';outer_block VARCHAR2(10) := 'Outer';BEGINdbms_o...
一:变量作用域
以上为引用一本书的代码(Oracle Database 11g PL/SQL程序设计)
输出为
这是两个嵌套的程序块
我们在子程序块中重定义了父程序块的变量
这个变量在子程序块执行完之后又恢复了父程序块中定义的值
二:%type 取一个已知变量的数据类型
上面例子中取了表title列的数据类型(varchar2)
然后检索了一行一列数据,把这个数据赋值给我们定义的变量mytitle
当然你也可以定义多个变量
如:
select title,id into mytitle,myid from labor.xland where state = 0;
三:%rowtype 取一个已知行的数据类型,这应该是一个对象类型
上例中我们取了某个表的rowtype,并定义了变量myrow
接着把这个表的一行数据赋值给了这个变量
输出的时候只要以点来获取这一行的某个列即可
四:record 这应该也是一个对象
如上代码
我们先定义了一种数据类型(type)
这种类型包含两个属性,分别是mytitle和mystate
然后我们定义了一个变量myrecord
这个变量的类型就是我们刚才定义的数据类型
接着我们把两个数据赋值给类这个变量的两个属性
这里的赋值顺序是按属性定义的先后顺序给属性赋值的
然后输出
至此,数据类型仍未讲完
还有table(表),array(数组),exception(异常),cursor(游标)等类型等没讲
异常和游标将在后面的文章提到
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统