oracle plsql 如何into多条记录
问题没说明白例如:PLSQL中...select*intoA,B,Cfromtable我的意思是有什么办法可以不声明A,B,C变量可以获取table字段上所有值得(主要是...
问题没说明白 例如:
PLSQL中...
select * into A,B,C from table
我的意思是有什么办法可以不声明A,B,C变量可以获取table字段上所有值得(主要是我每次取table中字段的数量不一定。游标我试过没成功. 展开
PLSQL中...
select * into A,B,C from table
我的意思是有什么办法可以不声明A,B,C变量可以获取table字段上所有值得(主要是我每次取table中字段的数量不一定。游标我试过没成功. 展开
4个回答
展开全部
方法倒是有:就是用DBMS_SQL这个包,它有几个函数与存储过程,可以根据表名,查询出表中的列的名称,列的数据类型(不过这个要转换,因为直接得到的结果是数字),然后根据列查询出列上的值.
网上很多这个包的资料.
如果说你是要获得表上的所有字段的话,相对来说还是比较简单的.
反正你看看有关这个包的使用之后,你就会发现解决这个问题很容易的.
我的思路就是:
写一个存储过程,一个参数是表名,表名是in类型 ,另一个参数是sys_cursor类型的out 参数.这样就可以了.如果你想直接要过程的话,你说声我写给你,不过有点麻烦,由于没多少分就说这些了.
我觉得还是你自己学会使用dbms_sql这个包比较好,因为以后可能还会用到这个包的时候.对这种不确定的东西,不用这个包是不行的
网上很多这个包的资料.
如果说你是要获得表上的所有字段的话,相对来说还是比较简单的.
反正你看看有关这个包的使用之后,你就会发现解决这个问题很容易的.
我的思路就是:
写一个存储过程,一个参数是表名,表名是in类型 ,另一个参数是sys_cursor类型的out 参数.这样就可以了.如果你想直接要过程的话,你说声我写给你,不过有点麻烦,由于没多少分就说这些了.
我觉得还是你自己学会使用dbms_sql这个包比较好,因为以后可能还会用到这个包的时候.对这种不确定的东西,不用这个包是不行的
展开全部
insert into TABLE1
(a, b, c, d)
select id1,id2,id3,id4
from TABLE2; 要是数据很多的话
写在存储过程中,在java代码中直接调用这个存储过程,存储过程中分成两次做提交,每次分成50万提交一次,用游标记住第一提交的索引,然后第二次就从该索引处全部提交完,这样只需要几分钟就搞定,之前有个项目业是遇到这样的情况,就是这样处理的。
(a, b, c, d)
select id1,id2,id3,id4
from TABLE2; 要是数据很多的话
写在存储过程中,在java代码中直接调用这个存储过程,存储过程中分成两次做提交,每次分成50万提交一次,用游标记住第一提交的索引,然后第二次就从该索引处全部提交完,这样只需要几分钟就搞定,之前有个项目业是遇到这样的情况,就是这样处理的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PLSQL中...
无法返回变量。只能返回一个结果集。如果你想返回多个变量。需要用存储过程,中定义变量等等。。。。
无法返回变量。只能返回一个结果集。如果你想返回多个变量。需要用存储过程,中定义变量等等。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
insert table
select *
from .....
select *
from .....
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询