存储过程中出现的问题

Keenoo_ 2019-03-14 12:49:40

TABLE_NAME是传入的表名,想通过IF ELSIF进行判断,从而根据表名定义一个ROWTYPE变量。
请问这样写问什么会报错呢。。。。
...全文
221 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Keenoo_ 2019-03-15
  • 打赏
  • 举报
回复
引用 8 楼 nayi_224 的回复:
[quote=引用 7 楼 Keenoo_ 的回复:] [quote=引用 6 楼 nayi_224 的回复:] 数据都取出来了,还需要用游标?
是这样的 ,使用游标取出minus union 语句 返回的数据(如果有的话)。[/quote] 这么写有什么问题?
insert into aaa
  select * from (select * from table1 minus select * from table2)
;
[/quote] OK,我懂了 Thanks♪(・ω・)ノ
Keenoo_ 2019-03-15
  • 打赏
  • 举报
回复
引用 8 楼 nayi_224 的回复:
[quote=引用 7 楼 Keenoo_ 的回复:] [quote=引用 6 楼 nayi_224 的回复:] 数据都取出来了,还需要用游标?
是这样的 ,使用游标取出minus union 语句 返回的数据(如果有的话)。[/quote] 这么写有什么问题?
insert into aaa
  select * from (select * from table1 minus select * from table2)
;
[/quote] 如果表字段相同的话,这样写确实没什么问题。 但是传入的表名不同 ,比对的表的字段都不相同,这样insert into就不能将所有数据保存在一张表中,需要根据传入的表名 进行 建表(aaa)。 我的目的是把300多张表的不同数据 ,将表的主键保存在一张表中便于查看。
nayi_224 2019-03-15
  • 打赏
  • 举报
回复
引用 7 楼 Keenoo_ 的回复:
[quote=引用 6 楼 nayi_224 的回复:] 数据都取出来了,还需要用游标?
是这样的 ,使用游标取出minus union 语句 返回的数据(如果有的话)。[/quote] 这么写有什么问题?
insert into aaa
  select * from (select * from table1 minus select * from table2)
;
Keenoo_ 2019-03-14
  • 打赏
  • 举报
回复
引用 6 楼 nayi_224 的回复:
数据都取出来了,还需要用游标?
是这样的 ,使用游标取出minus union 语句 返回的数据(如果有的话)。
nayi_224 2019-03-14
  • 打赏
  • 举报
回复
数据都取出来了,还需要用游标?
Keenoo_ 2019-03-14
  • 打赏
  • 举报
回复
引用 3 楼 卖水果的net 的回复:
这是要实现什么功能呢? 在 if else 中,不能使用 declare 。
写这个存储过程的目的是 比较一个Select语句查询到的数据 与 某张表中数据 是否一致。 上面图片中的SQL就是通过minus union 来进行数据比对。 如果数据不一致,就使用游标将数据取出,存到一张表中。
Keenoo_ 2019-03-14
  • 打赏
  • 举报
回复
引用 3 楼 卖水果的net 的回复:
这是要实现什么功能呢? 在 if else 中,不能使用 declare 。
想根据传入的TABLE_NAME,定义一个%ROWTYPE变量, 来存储游标中的数据。
卖水果的net 2019-03-14
  • 打赏
  • 举报
回复
这是要实现什么功能呢? 在 if else 中,不能使用 declare 。
Keenoo_ 2019-03-14
  • 打赏
  • 举报
回复

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧