在ORACLE的存储过程中如何做简单的动态查询

oracle|存储过程|动态

CREATE OR REPLACE procedure ZXM_SB_GZ_GET
(p_table in varchar2,
  p_name in varchar2,
  p_value in varchar2,
  outpara out lntxdba.zxm_pag_cs_power.c_type
  )
 as
 begin
 declare
 wherevalue varchar2(200);
 begin
 wherevalue:='select * from '||p_table||' where '||p_name||'='||p_value;
 open outpara for
 wherevalue;
 end;
 end;

时间: 2024-10-26 05:57:10

在ORACLE的存储过程中如何做简单的动态查询的相关文章

大量数据执行-oracle在存储过程中执行update语句

问题描述 oracle在存储过程中执行update语句 在存储过程中经过加工对表执行update语句,但表的数据太大了,2百多万数据的表我就要执行1个多小时,,,8千多万数据的表要怎么办啊? 解决方案 有这样的思路你可参考下: 思路1.写存储过程,引入loop循环,分批次更新.提交: 思路2.以nologging形式重新建表,按新规则把数据插过来:

oracle 在一个存储过程中调用另一个返回游标的存储过程_oracle

第一种情况是返回的游标是某个具体的表或视图的数据,如: SQL-Code: 复制代码 代码如下: CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS; END P_TESTA; 其中USERS就是数据库中一个表.在调用的时候只要声明一个该表的ROWTYPE类型就可以了: SQL-Code: 复制代码 代码如下: CREATE

在Oracle PL/SQL中游标声明中表名动态变化的方法_Oracle应用

/*     小弟刚刚接触ORACLE存储过程,有一个问题向各位同行求教,小弟写了一个存储过程,其目的是接收一个参数作为表名,然后查询该表中的全部记录的某一个字段的内容导入到另一个表中.     (     tabname in varchar     )     is     v_servicesname tabname.服务类型%type; --这个变量就是用来存放所要取得的字段内容,但不知该如何定义     cursor curSort1 is select 服务类型 from tabna

一个简单的oracle分页存储过程的实现和调用

oracle|存储过程|分页|oracle|存储过程|分页 在看了众多的分页存储过程以后发现都是针对sqlserver的,而没有oracle的,因此想写一个关于oracle的存储过程,因为我用到的数据库是oracle.---------------------------------------------------------------------------------------------------------------------------------------------

ORACLE 存储过程中的Authid Current_User

ORACLE用户具有DBA权限,却会出现无法在存储过程里面创建一张普通表的现象.因为即使用户拥有DBA权限,用户拥有的role权限在存储过程是不可用的. 遇到这种情况,通常解决方法是进行显式的权限分配: grant create table to user a;但这种方法太麻烦,因为有可能执行一个存储过程,需要很多不同权限.实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User进行权限分配. 在ORACLE8i以前的版本,所有

SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?

原文:SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?   本文出处:http://www.cnblogs.com/wy123/p/6704619.html      问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时候一个一个显式地删除过程中定义的临时表(drop table #tName),有些人又没有这个习惯,对于不明真相的群众或者喜欢思考的人会问,存储过程中定义的临

select-oracle临时会话表在存储过程中的使用

问题描述 oracle临时会话表在存储过程中的使用 问题: 在将db2的存储过程转换为oracle的过程中,涉及到临时会话表,会出现问题: 具体描述: 原db2中的存储过程涉及临时会话表的部分: --创建临时会话表 DECLARE GLOBAL TEMPORARY TABLE COL_NAMES( id integer, COLNAMES varchar(50) )WITH REPLACE NOT LOGGED on commit preserve ROWS ; DELETE FROM SESS

数据库 oracle-oracle的存储过程中,执行用databaae links建立的另外一个存储过程报错!

问题描述 oracle的存储过程中,执行用databaae links建立的另外一个存储过程报错! 本地存储过程执行另外一个用数据链接操作的存储过程报错,是个oracle代码,题是分布式数据库不能操作 理论上通过数据链接应该可以执行的. 为什么? 解决方案 http://www.educity.cn/wenda/411522.html

如何在oracle存储过程中进行简单动态查询

在存储过程中做简单动态查询代码 ,例如: CREATE OR REPLACE procedure ZXM_SB_GZ_GET (p_table in varchar2, p_name in varchar2, p_value in varchar2, outpara out lntxdba.zxm_pag_cs_power.c_type ) as begin declare wherevalue varchar2(200): begin wherevalue:=select * from ||p