加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用Oracle中的select语句调用带有Rowtype参数的函数

发布时间:2020-12-12 16:24:44 所属栏目:百科 来源:网络整理
导读:我有一个oracle函数,它有一个in参数,它是一个表的rowtype,从select语句我需要将当前行传递给这个函数,以便它进行一些处理并返回一个值.是否存在可以在select语句的上下文中使用的伪变量,其等同于触发器中的旧的和新的. 我想做点什么 select *,function1(rowt
我有一个oracle函数,它有一个in参数,它是一个表的rowtype,从select语句我需要将当前行传递给这个函数,以便它进行一些处理并返回一个值.是否存在可以在select语句的上下文中使用的伪变量,其等同于触发器中的旧的和新的.

我想做点什么

select *,function1(rowtype) from table1

我想避免传递多个参数,因此应该在该上下文中看到问题.

您无法使用%ROWTYPE执行此操作. %ROWTYPE实际上是PL / SQL记录类型,它在SQL中不是合法类型,因此您不能在SELECT中使用它.您应该创建一个与表具有相同列的对象类型,更改为函数以期望该对象类型而不是%ROWTYPE,然后您可以编写如下内容:
SELECT function(table1_typ(column1,column2,column3))
  FROM table1 t1

缺点:您仍然需要在SELECT中键入所有列,如果更改表,则还需要更改对象类型和SELECT.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读